数组是否存在重复元素
1、哈希表
把数组的值作为HashMap的key,若找到已有的key,则返回true
class Solution {
public boolean containsDuplicate(int[] nums) {
HashMap<Integer,Integer>map = new HashMap<>();
if(nums.length == 0 || nums == null){
return false;
}
for(int i = 0; i<nums.length ;i++){
if(map.containsKey(nums[i])){
return true;
}else{
map.put(nums[i],1);
}
}
return false;
}
}
2、排序
排序后比较相邻元素
class Solution {
public boolean containsDuplicate(int[] nums) {
if(nums == null || nums.length == 0){
return false;
}
Arrays.sort(nums);
for(int i = 0 ;i<nums.length-1 ; i++){
if(nums[i]==nums[i+1]){
return true;
}
}
return false;
}
}