1481. Least Number of Unique Integers after K Removals

Posted wentiliangkaihua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1481. 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^5
  • 1 <= arr[i] <= 10^9
  • 0 <= k <= arr.length
class Solution {
   public int findLeastNumOfUniqueInts(int[] arr, int k) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int n : arr) map.put(n, map.getOrDefault(n, 0) + 1);
        List<Integer> l = new ArrayList<>(map.keySet());
        Collections.sort(l, (a, b) -> map.get(a) - map.get(b));
        int n = map.size(), remove = 0, idx = 0;
        while (k > 0 && idx < n) {
            k -= map.get(l.get(idx++));
            if (k >= 0) remove++;
        }
        return n - remove;
    }
}

这就是差距吧。。

以上是关于1481. Least Number of Unique Integers after K Removals的主要内容,如果未能解决你的问题,请参考以下文章

747_Largest-Number-At-Least-Twice-of-Others

747. Largest Number At Least Twice of Others

747.Largest Number At Least Twice of Others

Largest Number At Least Twice of Others

747. Largest Number At Least Twice of Others

748. Largest Number At Least Twice of Others