728. Self Dividing Numbers

  • 描述:
    有偶数个糖,需要分给弟弟和妹妹,要求最终两个人分到的糖数目一样,返回妹妹获得糖的种类数目最大值


  • 思路:
    如果糖的种类数小于糖总数的二分之一,最大值为糖的种类数;
    如果糖的总类数大于糖总数的二分之一,最大值为糖总数的二分之一。
  • 代码
class Solution:
    def distributeCandies(self, candies):
        """
        :type candies: List[int]
        :rtype: int
        """
        # k=len(set(candies))
        # if k<=len(candies)/2:
        #     return k
        # else:
        #     return int(len(candies)/2)
        
        return len(set(candies)) if len(set(candies))<=len(candies)/2 else int(len(candies)/2)