217. 存在重复元素
https://leetcode-cn.com/problems/contains-duplicate/
解法一:排序
得到的有序数组中,若相邻两数相等,则存在重复元素。
/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
nums.sort((a, b) => a - b)
for (let i = 0; i < nums.length-1; i++) {
if (nums[i] === nums[i+1]) return true
}
return false
};
解法二:哈希表
一次遍历,将所有元素写入一个set,每次判断set中是否已存在该元素
/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
s = new Set()
for (i in nums) {
if (s.has(nums[i])) return true
s.add(nums[i])
}
return false
};
最后更新于