-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathContainsDuplicate.java
More file actions
56 lines (49 loc) · 1.55 KB
/
ContainsDuplicate.java
File metadata and controls
56 lines (49 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package easy;
import java.util.HashMap;
/**
*
* ClassName: ContainsDuplicate
* @author chenyiAlone
* Create Time: 2019/03/02 21:59:54
* Description: No.217
* 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
*/
public class ContainsDuplicate {
public boolean containsDuplicate(int[] nums) {
if (nums.length < 2) return false;
int max = nums[0];
for (int i = 1; i < nums.length; i++) {
if (max < nums[i]) {
} else if (nums[i] == max) {
return true;
} else {
for (int j = i - 1; j >= 0; j--) {
if (nums[i] == nums[j]) return true;
}
}
}
return false;
}
public boolean containsDuplicateSlow(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(nums[i])) {
map.put(nums[i], map.get(nums[i]) + 1);
if (map.get(nums[i]) > 1) return true;
} else {
map.put(nums[i], 1);
}
}
return false;
}
}