给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 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
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x248f5/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这个题目其实很简单,判断是否重复元素,那我们如果将数组从小到大排好序,那么值相同的元素肯定放在一起 所以我们只需循环数组依次判断每个数组的下一个元素是否跟当前元素相同,如果相同就返回true,如果循环结束都没有返回true,就意味着数组中并没有存在重复元素, 返回false,
/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
//注意,如果当前数组只有一个元素,就不需要进行其他操作,直接返回false
//当数组大于1个的时候
if(nums.length>1){
//对数组排序
nums=nums.sort();
//遍历数组,进行判断,判断当前元素与它的下一个元素是否相同
for(let x=0;x<nums.length-1;x++){
//如果相同,就存在重复元素,返回true
if(nums[x]===nums[x+1]){
return true;
}
}
//如果遍历结束,没有发现重复的值,就返回false
return false;
}else{
//当数组只有一个元素时,返回false
return false;
}
};
|