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