leetcode 3289 数字小镇中的捣蛋鬼
·
一、题目描述


二、解题思路
由于本题是要找出出现了两次的两个数字,所以我们可以借用哈希表来解决这个问题。
在遍历数组nums的过程中统计数字出现的次数,hash[i]的值即为i出现的次数,当然,由于2<=n<=100,所以我们可以使用数组来模拟哈希表,当hash[i]==1时,将nums[i]加入ret向量,遍历完后返回ret即可。
三、代码实现
class Solution {
public:
vector<int> getSneakyNumbers(vector<int>& nums) {
//数组模拟哈希表
int hash[101]={0};
vector<int> ret;
for(int i=0;i!=nums.size();i++){
if(hash[nums[i]]==1)
ret.push_back(nums[i]);
hash[nums[i]]++;
}
return ret;
}
};
更多推荐
所有评论(0)