Back to all solutions
#1481 - Least Number of Unique Integers after K Removals
Problem Description
Given an array of integers arr and an integer k. Find the least number of unique integers after removing exactly k elements.
Solution
/**
* @param {number[]} arr
* @param {number} k
* @return {number}
*/
var findLeastNumOfUniqueInts = function(arr, k) {
const map = new Map();
arr.forEach(n => map.set(n, map.has(n) ? map.get(n) + 1 : 1));
const sorted = [...map.values()].sort((a, b) => a - b);
while (k && sorted.length && sorted[0] <= k) {
k -= sorted[0];
sorted.shift();
}
return sorted.length;
};