您的位置:首页 > 其它

169. Majority Element (数组)

2017-11-03 22:52 309 查看
https://leetcode.com/problems/majority-element/description/

题目:求出数组
4000
中出现次数大于n/2的数。

思路:假设数组为 s[]={1,2,3,1,1}。

i   value  sum  s[i]
0    1     1    1
1    1     0    2
2    3     1    3
3    3     0    1
4    1     1    1

所以最多的数为1


class Solution {
public:
int majorityElement(vector<int>& nums) {
int value=nums[0],sum=1;
for(int x=1;x<nums.size();x++){
if(nums[x]==value) sum++;
else if(sum==0) value=nums[x],sum=1;
else sum--;
}
return value;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: