1163. 分糖果

1163. 分糖果

中文English

给定长度为偶数的整数数组,该数组中不同的数字代表不同种类的糖果, 每个数字表示一种糖果。 您需要将这些糖果平均分配给弟弟和妹妹。 返回妹妹可以获得的糖果种类的最大数量。

样例

输入: candies = [1,1,2,2,3,3]
输出: 3
解释:
有三种不同的糖果(1, 2 and 3), 每种糖果有两个。
最佳分法:妹妹拥有[1,2,3] ,弟弟也会拥有拥有[1,2,3]。
妹妹拥有3种不同的糖果。

注意事项

所给数组的长度范围为[2, 10,000],且为偶数。
所给数组中数字的范围为[-100,000, 100,000]。

输入测试数据 (每行一个参数)如何理解测试数据?
##分糖果
class Solution:
    '''
    大致思路:
    1.初始化a = [],循环candies,如果i不在a里面的话,则加进来,最后判断len(a)*2和candies的长度
    如果len(a)*2>len(candies)的话,则需要返回candies//2
    否则的话,返回len(a)
    '''
    def distributeCandies(self,candies):
        a = []
        for i in candies:
            if i not in a:
                a.append(i)
        
        if len(a)*2 > len(candies):
            return candies//2
        return len(a)