一、题目描述
给你一个整数数组 nums
。如果任一值在数组中出现 至少两次 ,返回 true
;如果数组中每个元素互不相同,返回 false
。
二、解题思路过程
/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
// 创建一个新的哈希表
var hash=new Set();
// 遍历数组
for(var i=0;i<nums.length;i++){
// 检查哈希表中是否有该元素
if(hash.has(nums[i])){
// 如果有,说明存在重复元素,返回true
return 1;
};
// 如果没有,则把该元素添加进该数组
hash.add(nums[i]);
};
return 0;
};
三、复杂度分析
时间复杂度:,n为数组的长度。
空间复杂度: ,n为数组的长度。
四、题目来源
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/contains-duplicate