LeetCode 1481. 不同整数的最少数目(计数+排序+贪心)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1481. 不同整数的最少数目(计数+排序+贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給你一個整數數組 arr 和一個整數 k 。現需要從數組中恰好移除 k 個元素,請找出移除后數組中不同整數的最少數目。
示例 1: 輸入:arr = [5,5,4], k = 1 輸出:1 解釋:移除 1 個 4 ,數組中只剩下 5 一種整數。示例 2: 輸入:arr = [4,3,1,1,3,3,2], k = 3 輸出:2 解釋:先移除 4、2 ,然后再移除兩個 1 中的任意 1 個或者三個 3 中的任意 1 個, 最后剩下 1 和 3 兩種整數。提示: 1 <= arr.length <= 10^5 1 <= arr[i] <= 10^9 0 <= k <= arr.length來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/least-number-of-unique-integers-after-k-removals
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- map計數
- 把數量排序
- 取出前面個數少的,能盡可能多的取出不同的種類
432 ms 61.2 MB
class Solution:# py3def findLeastNumOfUniqueInts(self, arr: List[int], k: int) -> int:d = {}for i in arr:if i in d:d[i] += 1else:d[i] = 1count = list(d.values())# count.sort()count = sorted(count)i = 0for c in count:k -= cif k >= 0:i += 1if k <= 0:breakreturn len(count) - i120 ms 26.8 MB
總結
以上是生活随笔為你收集整理的LeetCode 1481. 不同整数的最少数目(计数+排序+贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 246. 中心对称数(
- 下一篇: LeetCode 1217. 玩筹码(脑