存在重复元素
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入: [1,2,3,1]
输出: true
//强撸法就是一个一个取然后去遍历是否重复,就不在这写了
//进阶的强撸法是先用java 自带的数组排序后,两两取值对比
public boolean containsDuplicate(int[] nums) {
Arrays.sort(nums);
for (int i = 0; i < n.length - 1; i++) {
if (nums[i] == nums[i + 1]) {
return true;
}
}
return false;
}
//根据hashmap与hashset的特性
//hashmap
public boolean containsDuplicate(int[] nums) {
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i:nums){
if(map.containsKey(i)){
return true;
}
map.put(i,1);
}
return false;
}
//hashset
public boolean containsDuplicate(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
for (int x : nums) {
if (!set.add(x)) {
return true;
}
}
return false;
}