24 Contains Duplicate 重复元素判断一行代码搞定

119 阅读1分钟

217. Contains Duplicate

解题思路

  1. 利用 Set 有去重的作用
  2. 如果去重后的 set.size !== nums.length,那么说明存在重复元素

代码

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var containsDuplicate = function(nums) {
    return new Set(nums).size !== nums.length
};

这也说明了 new 操作符的优先级大于.操作符

解题思路

  1. 利用map存储已经存在的值
  2. 如果出现重复的值,直接 返回 true
  3. 遍历完成没有重复的直接返回 false

代码

/**
 * @param {number[]} nums
 * @return {boolean}
 */
var containsDuplicate = function(nums) {
    let map = {}
    for(let i = 0; i < nums.length; i++) {
        if(map[nums[i]]) {
            return true
        } else {
            map[nums[i]] = true
        }
    }
    return false
};