Distribute Candies

题目规定了,两个人拿一样多的糖,首先这一条就已经限制了,即使有n种糖,一个人最多也就能拿n/2种,也就是说,如果糖的种类数超过n/2种,那我可以尽量都分配给一个人更多的种类,但再怎么尽量分,也就最多拿n/2种了,那如果种类不及n/2种呢?那更简单了,我还是尽量把所有种类的糖都给一个人,那她能拿到的糖的种类数就是当前糖的总的种类数了

class Solution(object):
    def distributeCandies(self, candies):
        """
        :type candies: List[int]
        :rtype: int
        """
        n = len(candies)
        count = collections.Counter(candies)
        kind = len(count.keys())
        return min(n / 2, kind)

上面是清晰版

class Solution(object):
    def distributeCandies(self, candies):
        """
        :type candies: List[int]
        :rtype: int
        """
        return min(len(candies) / 2, len(set(candies)))

results matching ""

    No results matching ""