目录
来源:
题目描述:
思路:
创建一个哈希表
遍历数组,如果该数字未出现就将hash表对应值设置为true,
如果该值已经出现过即为重复return出来
代码实现:
class Solution {
public:
int findRepeatNumber(vector<int>& nums) {
unordered_map<int,bool>map;//创建hash表
for(int num:nums){ //增强型for循环
if(map[num])
return num;
map[num]=true;
}
return -1;
}
};
时间复杂度o(n) 空间复杂度o(n)
补充:
增强型for循环:
for(类型 变量:数组){System.out.println(变量);}
for(int num:nums)中
nums是一个数组,里面放的是int类型的数据,然后定义了一个int类型的变量num,每循环一次,就从nums数组中取出一个数据来打印。
int :表示你要遍历的集合的类型
nums:表示你要遍历的集合的名
num:表示你每遍历集合中一个元素 便存储到该变量中