Skip to content

Commit 41e5639

Browse files
committed
top-k-frequent 문제를 잘못 커밋해서 다시 수정하여 커밋
1 parent d721db5 commit 41e5639

File tree

1 file changed

+6
-64
lines changed

1 file changed

+6
-64
lines changed

contains-duplicate/Geegong.java

Lines changed: 6 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,22 @@
11
import java.util.HashMap;
22
import java.util.HashSet;
3-
import java.util.Iterator;
43
import java.util.Map;
54

65
public class Geegong {
76

8-
public int[] topKFrequent(int[] nums, int k) {
9-
int[] result = new int[k];
107

11-
// key : num element in nums / value : frequency of num elements
12-
Map<Integer, Integer> numMap = new HashMap<>();
8+
public boolean containsDuplicate(int[] nums) {
9+
HashSet<Integer> uniques = new HashSet<>();
1310

14-
// key : frequency of num elements / value : HashSet<Integer> num elements
15-
Map<Integer, HashSet<Integer>> frequencyMap = new HashMap<>();
16-
17-
// most frequent numbers
18-
int maxCount = 0;
19-
20-
// initialize numMap
2111
for (int num : nums) {
22-
if (numMap.containsKey(num)) {
23-
Integer alreadyCounted = numMap.get(num);
24-
numMap.put(num, alreadyCounted + 1);
25-
} else {
26-
numMap.put(num, 1);
27-
}
28-
}
29-
30-
31-
//numHashSetMap
32-
for (int num : numMap.keySet()) {
33-
int frequencyOfNum = numMap.get(num);
34-
maxCount = Math.max(maxCount, frequencyOfNum);
35-
36-
if (frequencyMap.containsKey(frequencyOfNum)) {
37-
HashSet<Integer> alreadySet = frequencyMap.get(frequencyOfNum);
38-
alreadySet.add(num);
39-
40-
frequencyMap.put(frequencyOfNum, alreadySet);
41-
42-
} else {
43-
HashSet<Integer> newHashSet = new HashSet<>();
44-
newHashSet.add(num);
45-
46-
frequencyMap.put(frequencyOfNum, newHashSet);
12+
if (uniques.contains(num)) {
13+
return true;
4714
}
48-
}
49-
50-
51-
// maxCount 부터 decreasing
52-
int resultIndex=0;
53-
for(int frequency=maxCount; frequency>=0; frequency--) {
54-
if (resultIndex >= result.length) {
55-
return result;
56-
}
57-
58-
if (frequencyMap.containsKey(frequency)) {
59-
HashSet<Integer> numElements = frequencyMap.get(frequency);
6015

61-
for (int numElement : numElements) {
62-
result[resultIndex] = numElement;
63-
resultIndex++;
64-
65-
66-
if (resultIndex >= result.length) {
67-
return result;
68-
}
69-
}
70-
}
16+
uniques.add(num);
7117
}
7218

73-
return result;
74-
}
75-
76-
public boolean checkIsFull(int[] arr, int currIndex) {
77-
return currIndex >= arr.length;
19+
return false;
7820
}
7921

8022
}

0 commit comments

Comments
 (0)