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 dd7c18f commit 04e2345Copy full SHA for 04e2345
top-k-frequent-elements/mike2ox.ts
@@ -0,0 +1,22 @@
1
+/**
2
+ * Source: https://leetcode.com/problems/top-k-frequent-elements/
3
+ * 풀이방법: 순회를 통해 빈도수를 저장, Object.entries를 통해 정렬하여 k개까지 반환
4
+ * 시간복잡도: O(nlogn)
5
+ * 공간복잡도: O(n)
6
+ *
7
+ * 생각나는 풀이방법
8
+ */
9
+function topKFrequent(nums: number[], k: number): number[] {
10
+ const KFrequentObject = new Object();
11
+ const result = new Array();
12
+ for (let num of nums) {
13
+ if (!Object.hasOwn(KFrequentObject, num)) KFrequentObject[num] = 0;
14
+ KFrequentObject[num]++;
15
+ }
16
+ // Object.entries를 통해 key, value를 배열로 반환 (포인트)
17
+ let sorted = Object.entries(KFrequentObject).sort((a, b) => b[1] - a[1]);
18
+ for (let node of sorted) {
19
+ result.push(parseInt(node[0]));
20
21
+ return result.slice(0, k);
22
+}
0 commit comments