zoukankan      html  css  js  c++  java
  • 575. Distribute Candies

    You have n candies, the ith candy is of type candies[i].

    You want to distribute the candies equally between a sister and a brother so that each of them gets n / 2 candies (n is even). The sister loves to collect different types of candies, so you want to give her the maximum number of different types of candies.

    Return the maximum number of different types of candies you can give to the sister.

    Example 1:

    Input: candies = [1,1,2,2,3,3]
    Output: 3
    Explanation:
    There are three different kinds of candies (1, 2 and 3), and two candies for each kind.
    Optimal distribution: The sister has candies [1,2,3] and the brother has candies [1,2,3], too. 
    The sister has three different kinds of candies. 
    

    Example 2:

    Input: candies = [1,1,2,3]
    Output: 2
    Explanation: For example, the sister has candies [2,3] and the brother has candies [1,1]. 
    The sister has two different kinds of candies, the brother has only one kind of candies.
    

    Example 3:

    Input: candies = [1,1]
    Output: 1
    

    Example 4:

    Input: candies = [1,11]
    Output: 1
    

    Example 5:

    Input: candies = [2,2]
    Output: 1
    

    Constraints:

    • n == candies.length
    • 2 <= n <= 10^4
    • n is even.
    • -10^5 <= candies[i] <= 10^5

    hint:
    To maximize the number of kinds of candies,
    we should try to distribute candies such that sister will gain all kinds.
    Inserting all candies kind in the hashset and then checking its size with upper limit.

    time = O(n), space = O(n)

    class Solution {
        public int distributeCandies(int[] candies) {
            int n = candies.length;
            Set<Integer> set = new HashSet<>();
            for(int candy : candies) {
                set.add(candy);
            }
            return set.size() < n / 2 ? set.size() : n / 2;
        }
    }
  • 相关阅读:
    关于在调用JAVAFX相关包时遇到Access restriction: The type 'Application' is not API (restriction on required library)的解决方法
    JS 获取随机颜色值
    JS jQuery 点击页面漂浮出文字
    JQ 获取浏览器窗口宽高
    JQ 操作css
    JQ 遍历--(祖先,后代,同胞,过滤)
    JQ DOM元素 创建 添加 删除
    jQuery 效果
    3
    webpack 打包CSS 引入图片
  • 原文地址:https://www.cnblogs.com/fatttcat/p/13534610.html
Copyright © 2011-2022 走看看