存在重复
给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
输入: [2,2,1]
输出: 1
输入: [4,1,2,1,2]
输出: 4
我的实现:
/**
* @param {number[]} nums
* @param {number} k
* @return {void} Do not return anything, modify nums in-place instead.
*/
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
if (nums.length < 2) {
return nums[0];
}
nums.sort((a,b)=>(a-b));
let single = null;
nums.reduce(function(pre,cur,index,nums){
if (index === 1) {
if ((nums[index-1] - cur) !== 0) {
single = nums[index-1];
}
} else if (index < (nums.length - 1)) {
if ((nums[index-1] - cur) * (nums[index+1] - cur) !== 0) {
single = cur;
}
} else {
if (cur - (nums[index - 1]) !== 0) {
single = cur;
}
}
});
return single;
};