169. Majority Element

Posted whl-hl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了169. Majority Element相关的知识,希望对你有一定的参考价值。

1. 问题描述

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.
You may assume that the array is non-empty and the majority element always exist in the array.
Tags: Array Divide and Conquer Bit Manipulation
Similar Problems: (M) Majority Element II

2. 解题思路

  • 详见《剑指offer》

3. 代码

 1 class Solution {
 2 public:
 3     int majorityElement(vector<int>& nums) 
 4     {
 5         int lastNum = nums[0];
 6         int count = 0;
 7         for (int i=0; i<nums.size(); i++)
 8         {
 9             if (lastNum == nums[i])
10             {
11                 count++;
12             }
13             else
14             {
15                 count--;
16                 if (0 == count)
17                 {
18                     lastNum = nums[i];
19                     count++;
20                 }
21             }            
22         }
23         return lastNum;
24     }
25 };

4. 反思

以上是关于169. Majority Element的主要内容,如果未能解决你的问题,请参考以下文章

169. Majority Element@python

169. Majority Element

Leetcode 169. Majority Element

169. Majority Element

169. Majority Element

LeetCode169. Majority Element