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 cb574a6 commit f9ab862Copy full SHA for f9ab862
top-k-frequent-elements/nancyel.ts
@@ -0,0 +1,21 @@
1
+/**
2
+ * time complexity: O(n + m log m),
3
+ * n = length of input array
4
+ * m = number of unique elements (m ≤ n)
5
+ * space complexity: O(m)
6
+ */
7
+
8
+function topKFrequent(nums: number[], k: number): number[] {
9
+ const freqMap = new Map<number, number>();
10
11
+ // Count frequencies using a map: O(n)
12
+ for (const num of nums) {
13
+ freqMap.set(num, (freqMap.get(num) || 0) + 1);
14
+ }
15
16
+ // Extract the top k elements
17
+ return Array.from(freqMap.entries()) // O(m)
18
+ .sort(([, a], [, b]) => b - a) // O(m log m)
19
+ .slice(0, k)
20
+ .map(([num]) => num); // extract the keys only
21
+}
0 commit comments