Updating exercises
This commit is contained in:
30
src/exercises/347.top-k-frequent-elements.js
Normal file
30
src/exercises/347.top-k-frequent-elements.js
Normal file
@@ -0,0 +1,30 @@
|
||||
// @leet start
|
||||
/**
|
||||
* @param {number[]} nums
|
||||
* @param {number} k
|
||||
* @return {number[]}
|
||||
*/
|
||||
var topKFrequent = function(nums, k) {
|
||||
const setOfNumbers = {};
|
||||
for (const num of nums) {
|
||||
if (!setOfNumbers[num]) {
|
||||
setOfNumbers[num] = 1;
|
||||
} else {
|
||||
setOfNumbers[num] = setOfNumbers[num] + 1;
|
||||
}
|
||||
}
|
||||
const values = Object.values(setOfNumbers);
|
||||
const keys = Object.keys(setOfNumbers);
|
||||
let newArray = [];
|
||||
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
newArray.push([keys[i], values[i]]);
|
||||
}
|
||||
newArray = newArray.sort((a, b) => {
|
||||
return b[1] - a[1];
|
||||
});
|
||||
newArray = newArray.slice(0, k);
|
||||
newArray = newArray.map((a) => Number(a[0]));
|
||||
return newArray;
|
||||
};
|
||||
// @leet end
|
||||
Reference in New Issue
Block a user