leetcode1342
Posted AsenYang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode1342相关的知识,希望对你有一定的参考价值。
1 class Solution: 2 def minSetSize(self, arr: ‘List[int]‘) -> int: 3 m = len(arr) 4 dic = {} 5 for i in range(m): 6 if arr[i] in dic: 7 dic[arr[i]] += 1 8 else: 9 dic[arr[i]] = 1 10 l = sorted(dic.items(),key=lambda d:(-d[1])) 11 count,target,size = 0,m // 2,0 12 for x in range(len(l)): 13 if count >= target: 14 return size 15 else: 16 size += 1 17 count += l[x][1] 18 return size
算法思想:贪心。
按照出现频率从高到低排序,优先将出现次数多的数字加入到被去除的集合中。
以上是关于leetcode1342的主要内容,如果未能解决你的问题,请参考以下文章
算法leetcode每日一练1342. 将数字变成 0 的操作次数
算法leetcode每日一练1342. 将数字变成 0 的操作次数