这道题细想就会发现思路很简单
小弟弟和小妹妹获得的糖果数是固定的:len(candies) // 2
题意是想让小妹妹获得的种类数最多,那么只需要计算一下这堆糖果里有多少种糖果即可
如果糖果种类数小于len(candies) // 2,则返回种类数,否则返回len(candies) // 2
class Solution:
def distributeCandies(self, candies: List[int]) -> int:
# candies_count = {}
# for candie in candies:
# if candie not in candies_count.keys():
# candies_count[candie] = 1
# else:
# candies_count[candie] += 1
candies_count = len(set(candies))
return min(len(candies) // 2, candies_count)
没怎么用过集合
最开始用的字典,略傻ε=(´ο`*)))