【快乐水题】229. 求众数 II
原题:
题目简述:
给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
解题思路
1.通过哈希表来计算出现次数
2.if(k == (num/3 + 1))这个判据比较关键,需要多验证几个测试集
3.over
C++代码:
class Solution {
public:
vector<int> majorityElement(vector<int>& nums) {
vector<int> vec;
int i = 0;
int num = nums.size();
unordered_map<int,int> map;
for(i = 0; i < num; i++)
{
int k = ++map[nums[i]];
cout << "nums[]:" << nums[i] << " " << "k:"<< k << endl;
if(k == (num/3 + 1))
{
vec.push_back(nums[i]);
}
}
return vec;
}
};
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
力扣结果展示:
推荐阅读