LeetCode 1481. 不同整数的最少数目(计数+排序+贪心)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1481. 不同整数的最少数目(计数+排序+贪心)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給你一個(gè)整數(shù)數(shù)組 arr 和一個(gè)整數(shù) k 。現(xiàn)需要從數(shù)組中恰好移除 k 個(gè)元素,請(qǐng)找出移除后數(shù)組中不同整數(shù)的最少數(shù)目。
示例 1: 輸入:arr = [5,5,4], k = 1 輸出:1 解釋:移除 1 個(gè) 4 ,數(shù)組中只剩下 5 一種整數(shù)。示例 2: 輸入:arr = [4,3,1,1,3,3,2], k = 3 輸出:2 解釋:先移除 4、2 ,然后再移除兩個(gè) 1 中的任意 1 個(gè)或者三個(gè) 3 中的任意 1 個(gè), 最后剩下 1 和 3 兩種整數(shù)。提示: 1 <= arr.length <= 10^5 1 <= arr[i] <= 10^9 0 <= k <= arr.length來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/least-number-of-unique-integers-after-k-removals
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
- map計(jì)數(shù)
- 把數(shù)量排序
- 取出前面?zhèn)€數(shù)少的,能盡可能多的取出不同的種類
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
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1481. 不同整数的最少数目(计数+排序+贪心)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 246. 中心对称数(
- 下一篇: LeetCode 1217. 玩筹码(脑