Skip to content

Commit 2a7ff77

Browse files
committed
Add solution #347
1 parent 5386282 commit 2a7ff77

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
264|[Ugly Number II](./0264-ugly-number-ii.js)|Medium|
3030
283|[Move Zeroes](./0283-move-zeroes.js)|Easy|
3131
345|[Reverse Vowels of a String](./0345-reverse-vowels-of-a-string.js)|Easy|
32+
347|[Top K Frequent Elements](./0347-top-k-frequent-elements.js)|Medium|
3233
349|[Intersection of Two Arrays](./0349-intersection-of-two-arrays.js)|Easy|
3334
350|[Intersection of Two Arrays II](./0350-intersection-of-two-arrays-ii.js)|Easy|
3435
387|[First Unique Character in a String](./0387-first-unique-character-in-a-string.js)|Easy|
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* 347. Top K Frequent Elements
3+
* https://leetcode.com/problems/top-k-frequent-elements/
4+
* Difficulty: Medium
5+
*
6+
* Given an integer array `nums` and an integer `k`, return the `k` most
7+
* frequent elements. You may return the answer in any order.
8+
*/
9+
10+
/**
11+
* @param {number[]} nums
12+
* @param {number} k
13+
* @return {number[]}
14+
*/
15+
var topKFrequent = function(nums, k) {
16+
const map = new Map();
17+
18+
nums.forEach(value => map.set(value, (map.get(value) || 0) + 1));
19+
20+
return [...map]
21+
.sort((a, b) => b[1] - a[1])
22+
.slice(0, k)
23+
.map(([value]) => value)
24+
};

0 commit comments

Comments
 (0)