您的位置:首页 > 编程语言 > C语言/C++

169. Majority Element

2017-09-23 16:10 344 查看

题目

169. Majority Element

解题思路

这道题就是求众数,一开始我是用快排排序再返回nums[size/2],但是超时了~所以去discussion看了下大佬的代码,dalao的思路就是给数字投票,相同的投票数++,不同的投票数–,因为题目规定了众数的数量大于size/2,所以结果妥妥的是众数投票数最多。还有一种思路是用映射map,比较简单就不说了。

具体代码

class Solution {
public:
int majorityElement(vector<int>& nums) {
int count = 1;
int majority = nums[0];
for (int i = 1; i < nums.size(); i++) {
if (majority == nums[i])
++count;
else if (count == 0) {
majority = nums[i];
++count;
}
else {
--count;
}
}

return majority;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ leetcode