码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode1342

时间:2020-02-02 14:01:32      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:出现   sorted   ted   count   col   self   sort   tar   pre   

 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

标签:出现   sorted   ted   count   col   self   sort   tar   pre   

原文地址:https://www.cnblogs.com/asenyang/p/12251792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!