/**
* 存在重复元素
* 给定一个整数数组,判断是否存在重复元素。
* 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
* 示例 1:
* 输入: [1,2,3,1]
* 输出: true
*
* 示例 2:
* 输入: [1,2,3,4]
* 输出: false
*
* 示例 3:
* 输入: [1,1,1,3,3,4,3,2,4,2]
* 输出: true
*
* 解题思路一:
* 利用哈希表
* 解题思路二:
* 先排序,比较相邻是否相等
*/
/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
var obj = {},n=nums.length;
if(n==1){
return false;
}
for(var i=0;i<n;i++){
obj[nums[i]] = nums[i] in obj ? obj[nums[i]]+1:1;
}
for(var k in obj){
if(obj[k]>1){
return true;
}
}
return false;
};
var containsDuplicate2 = function(nums) {
nums.sort((a, b) => a - b);
const n = nums.length;
for (let i = 0; i < n - 1; i++) {
if (nums[i] === nums[i + 1]) {
return true;
}
}
return false;
};
const arr = [2,14,18,22,22];
console.log(containsDuplicate(arr));
console.log(containsDuplicate2(arr));