0%

961.在长度 2N 的数组中找出重复 N 次的元素

题目

在长度 2N 的数组中找出重复 N 次的元素

思路

利用哈希表统计每个数字出现的次数,若次数等于 nums.size() / 2则返回该数字。

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
int repeatedNTimes(vector<int>& nums) {
int n = nums.size() / 2;
unordered_map<int, int> hsp;
for(int i = 0; i < nums.size(); i++){
hsp[nums[i]] ++;
}
for(auto it = hsp.begin(); it != hsp.end(); it++){
if(it->second == n)
return it->first;
}
return 0;
}
};
  • 时间复杂度:O(n),其中 n 是数组中元素的个数
  • 空间复杂度:O(n)

执行用时:44 ms, 在所有 C++ 提交中击败了28.13%的用户

内存消耗:29.4 MB, 在所有 C++ 提交中击败了25.96%的用户

通过测试用例:102 / 102

正在加载今日诗词....