首页 > 其他 > 详细

169. Majority Element

时间:2016-06-23 22:17:33      阅读:219      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/whl2012/p/5612264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!