给你一个整数数组 nums
。如果任一值在数组中出现 至少两次 ,返回 true
;如果数组中每个元素互不相同,返回 false
。
思考:对于这道题的考虑,我觉得可以有这样的思路,第一个是直接排序原数组,在排出大小顺序之后,就方便了许多。第二个就是使用类似于快慢指针的方法,同时扫描数组元素,进行前后比较即可。
class Solution {
public boolean containsDuplicate(int[] nums) {
int n = nums.length;
//可能不是相邻的位置相同
Arrays.sort(nums);
for(int i = 0;i < n - 1;i++){
if(nums[i] == nums[i+1]){
return true;
}
}
return false;
}
}