存在重复元素
难度简单
给你一个整数数组 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
思路
首先,第一想法就是双重for循环,一旦遍历到重复元素,立刻返回true结束。
但是看了答案之和发现一种更简单的方法,那就是先进行排序,再相邻两个元素进行比较,这样只要排序花的时间少,就能大幅度降低整体的时间复杂度。排序可以利用Arrays.sort()。快速排序
java
class Solution {
public boolean containsDuplicate(int[] nums) {
Arrays.sort(nums);
for(int i = 0;i<nums.length-1;i++){
if(nums[i]==nums[i+1]){
return true;
}
}
return false;
}
}