给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false。
思路:判断重复,首先就想到了Set,创建一个set,把每个数组元素放进去判断是否重复,
解法一:判断重复,首先就想到了Set,创建一个set,把每个数组元素放进去判断是否重复,
public boolean containsDuplicate(int[] nums) {
if(nums.length == 0)
return false;
Set<Integer> s = new HashSet<>();
for(int i = 0; i<nums.length; i++){
if(!s.contains(nums[i])){
s.add(nums[i]);
}
else{
return true;
}
}
return false;
}
解法二:还可以用双指针法,一个一个对比
public boolean containsDuplicate_2(int[] nums) {
if(nums.length == 0 )
return false;
for(int i = 0; i < nums.length; i++){
for(int j = i+1 ;j < nums.length; j++){
if(nums[i] == nums[j])
return true;
}
}
return false;
}