题目大意
给定一个整数数组,判断数组中是否包含重复元素。如果数组中任意一个数字出现了至少两次,你的函数应该返回true,如果每一个元素都是唯一的,返回false。
用Set接口:
class Solution {
public boolean containsDuplicate(int[] nums) {
Set<Integer> s = new HashSet<Integer>(nums.length);
for(int i:nums){
if(s.contains(i))
return true;
s.add(i);
}
return false;
}
}
用Map接口:
class Solution {
public boolean containsDuplicate(int[] nums) {
Map<Integer, Boolean> m = new HashMap<>();
for(int i:nums){
if(m.containsKey(i))
return true;
m.put(i, true);
}
return false;
}
}
用Array类:
class Solution {
public boolean containsDuplicate(int[] nums) {
Arrays.sort(nums);
for(int i = 0;i < nums.length-1;i++){
if(nums[i] == nums[i+1])
return true;
}
return false;
}
}