Least number of unique integers after k removals
class Solution:
def findLeastNumOfUniqueInts(self, arr: List[int], k: int) -> int:
count = collections.Counter(arr)
num = len(count)
values = list(count.values())
values.sort()
for i in range(len(values)):
if k - values[i] < 0:
break
k -= values[i]
num -= 1
return num
Least Number of Unique Integers after K Removals
Given an array of integers arr and an integer k. Find the least number of unique integers after removing exactly k elements.
Example 1:
Input: arr = [5,5,4], k = 1 Output: 1 Explanation: Remove the single 4, only 5 is left.
Example 2:
Input: arr = [4,3,1,1,3,3,2], k = 3 Output: 2 Explanation: Remove 4, 2 and either one of the two 1s or three 3s. 1 and 3 will be left.
Constraints:
1 <= arr.length <= 10^51 <= arr[i] <= 10^90 <= k <= arr.length