一、题目描述

二、解题思路

由于本题是要找出出现了两次的两个数字,所以我们可以借用哈希表来解决这个问题。

在遍历数组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;
    }
};
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐