给定一个整数数组,找出重复的数字。
你的函数应当在存在重复元素时返回 true
,不存在重复元素时返回 false
。
例一:
输入: [1,2,3,1]
输出: true
例二:
输入: [1,2,3,4]
输出: false
例三:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
/*
* 217. Contains Duplicate
* https://leetcode.com/problems/contains-duplicate/
* https://www.whosneo.com/217-contains-duplicate/
*/
import java.util.HashSet;
import java.util.Set;
public class ContainsDuplicate {
public static void main(String[] args) {
ContainsDuplicate solution = new ContainsDuplicate();
int[] nums;
nums = new int[]{1, 2, 3, 1};
System.out.println(solution.containsDuplicate(nums));
nums = new int[]{1, 2, 3, 4};
System.out.println(solution.containsDuplicate(nums));
nums = new int[]{1, 1, 1, 3, 3, 4, 3, 2, 4, 2};
System.out.println(solution.containsDuplicate(nums));
}
private boolean containsDuplicate(int[] nums) {
Set<Integer> map = new HashSet<>();
for (int i : nums)
if (map.contains(i))
return true;
else
map.add(i);
return false;
}
}