Given an array of integers, find if the array contains any duplicates.
Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
Example 1:
Input: [1,2,3,1]
Output: true
Example 2:
Input: [1,2,3,4]
Output: false
Example 3:
Input: [1,1,1,3,3,4,3,2,4,2]
Output: true
题意:判断一个数组是否有重复的数,有返回true,无返回false
知识点:
1、HashSet集合
http://www.cnblogs.com/skywang12345/p/3311252.html
- hashset集合中不允许有重复的元素
- 创建:
Set<数据类型> 集合名 = new HashSet<>(长度);
- 引入:
import java.util.HashSet;
- 接口:
boolean: add(E object)
,boolean: contains(Object object)
2、数组foreach遍历方式:for(int i : nums)
class Solution {
public boolean containsDuplicate(int[] nums) {
int len = nums.length;
if(len>1){
Set<Integer> set = new HashSet<>(len);//HashSet创建
for(int i : nums){
if(set.contains(i)){//如果set集合中有i元素,true
return true;
}else {
set.add(i);//在set集合中添加i元素
}
}
}
return false;
}
}