LeetCode刷题日记 剑指 Offer 03. 数组中重复的数字

    科技2022-08-01  105

    今天的每日一题需要用到哈希表,之前每次看到哈希表的题都是跳过的,既然这次躲不开了,就学习了一下哈希表。学习没有很深入,先描述一下我对哈希表使用的理解。

    C++ 中, 使用 unordered_map<int,bool> map; 来建立一个哈希表,其中第一个int表示哈希表key值的数字形式,用于记录他的存储位置,bool型为存储位置中存储的数字。

    这道题给出一个数组,其中包含若干个数字,要求检查数组中是否存在随机的数。若存在,则返回随机的这个数字。这里,可以建立一个哈希表,数组中的数字为key值,通过bool型来表示该数字是否在数组中存在,代码如下:

    class Solution { public: int findRepeatNumber(vector<int>& nums) { unordered_map<int,bool> map; //建立一个哈希表 for(int num : nums) { if(map[num]) return num; //因为只要求返回一个值 map[num] = true; } return -1; } };

     

    Processed: 0.010, SQL: 8