We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d616ef2 commit 1d00102Copy full SHA for 1d00102
top-k-frequent-elements/hwanmini.js
@@ -1,4 +1,4 @@
1
-// 시간복잡도: O(n log n)
+// 시간복잡도: O(n)
2
// 공간복잡도: O(n)
3
4
/**
@@ -13,10 +13,18 @@ var topKFrequent = function(nums, k) {
13
map.set(nums[i], (map.get(nums[i]) || 0) + 1);
14
}
15
16
- const frequencyArr = [...map]
17
- const sortedArr = frequencyArr.toSorted((a,b) => b[1] - a[1])
+ const buckets = Array.from({length: nums.length + 1}, () => [])
18
19
- return sortedArr.slice(0,k).map(([key,value]) => key);
+ for (const [num, frequency] of map.entries()) {
+ buckets[frequency].push(num);
20
+ }
21
+
22
+ const result = [];
23
+ for (let i = buckets.length - 1; i >= 0 && result.length < k; i--) {
24
+ result.push(...buckets[i]);
25
26
27
+ return result.slice(0, k);
28
29
};
30
0 commit comments