题目要求
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
示例 1:
输入:nums = [1,2,3,1] 输出:true
示例 2:
输入:nums = [1,2,3,4] 输出:false
示例 3:
输入:nums = [1,1,1,3,3,4,3,2,4,2] 输出:true
提示:
1 <= nums.length <= 105
-109 <= nums[i] <= 109来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/contains-duplicate
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处
解答代码:
/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
nums.sort((a,b) => a-b);
for(let i=0;i<nums.length-1;i++) {
if(nums[i] == nums[i+1]) {
return true;
}
}
return false;
};
解答思路:
使用js的数组操作函数,sort(),将数组进行从小到大的排序。
array.sort((a,b) => a-b) 从小到大
array.sort((a,b) => b-a) 从大到小
因为数组从小到大排序后,相同的数字都排在了相邻的位置,此时对数组进行一次遍历,即可找到是否有相同数据,如果有,则直接返回true,如果for循环结束,都没有跳出,则说明没有重复数据。