解题思路
从题意可知,一人最多分一半的糖果,这样即使有大于一半的种类,也只能得到一半的种类。如果达不到一半的种类,则每个种类要获取一个,这样才能满足最大种类。
用set得到总的种类,然后与能得到的最大种类(一半)比较,如果大于,则最多获取一半的种类,否则获取总的种类。
代码
class Solution:
def distributeCandies(self, candyType: List[int]) -> int:
maxtype = len(candyType) // 2
candytype = set(candyType)
if len(candytype) < maxtype:
return len(candytype)
else:
return maxtype
链接:https://leetcode-cn.com/problems/distribute-candies/solution/575-fen-tang-guo-by-senlindu-6t0m/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。