讨论/《腾讯》 - 存在重复元素/
《腾讯》 - 存在重复元素
共 2 个回复

利用HashMap特点,get(nums[i])如果返回值,则证明出现过,返回true,没有则put(nums[i], nums[i])存入,时间复杂度O(n),空间复杂度O(n)。

使用HashSet的add,代码更为简化,add失败会返回false

Set<Integer> temp = new HashSet<>();
for (int i = 0; i < length; i++) {
    if (!temp.add(nums[i])) {
        return true;
    }
}
return false;

不需要index,没必要创建i

for (int num: nums) {
    if (!temp.add(num)) {
        return true;
    }
}

先排序,然后比较相邻两个元素

sort(nums.begin(),nums.end());
        int len = nums.size();
        for (int i = 0; i< len-1; i++){
            if(nums[i] == nums[i+1]){
                return true;
            }
        }
        return false;