题目
给定一个整数数组,判断是否存在重复元素。
如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入: [1,2,3,1]
输出: true
示例 2:
输入: [1,2,3,4]
输出: false
示例 3:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
解题思路
- 该题比较简单 有很多种方法可以使用,比如排序,先通过对该数组排序,后对每一个元素和下一个相比,相同则返回true,到最后则返回false
- 但是我没有选择这种方法,我选择的是用map的方法,循环访问数组元素,判断是否在map中,如果在则返回true,不在则加入map,到最后返回false
- 还是偏简单的
代码
class Solution {
public boolean containsDuplicate(int[] nums) {
Map<Integer,Integer> map = new HashMap<>();
for(int i=0;i<nums.length;i++){
if(map.containsKey(nums[i])){
return true;
}else{
map.put(nums[i],0);
}
}
return false;
}
}