[LeetCode217. 存在重复元素][简单] | 刷题打卡

93 阅读1分钟

一、题目描述:

给定一个整数数组,判断是否存在重复元素。

如果某一个值在数组中出现至少两次,函数返回 true ; 否则数组中每个元素都不相同,返回 false 。

这道题目比较简单,主要考察数组去重。

示例一:

  • 输入: [1,2,3,1] 输出: true

示例二:

  • 输入: [1,2,3,4] 输出: false

示例三:

  • 输入: [1,2,3,4,null,undefined,null,undefined] 输出: true

二、思路分析:

先将数组去重得到一个新数组,如果新数组长度和原数组长度一致,则代表没有重复的元素。

new Set() 是一个常见的应用于数组的去重。

let arr = [1, 2, 3, 4, 4, 3, 2, 1];
let set = new Set(arr); // Set(4) {1, 2, 3, 4}
let newArr = [...set]; // [1, 2, 3, 4]
let list = [...new Set(1,2,3,null,undefined,null,undefined)] // [1, 2, 3, null, undefined]

三、代码

var containsDuplicate = function(nums) { 
     console.log([...new Set(nums)])
    return nums.length === [...new Set(nums)].length ? false : true 
};
containsDuplicate([1,2,3,4,null,undefined,null,undefined])
// 打印 [1, 2, 3, 4, null, undefined]
// true