zoukankan      html  css  js  c++  java
  • LeetCode 575. 分糖果

    题目链接

    575. 分糖果

    思路分析

    这个题因为要求女方的糖果获得的种类最多,那么我们可以采用贪心的思想去解题。
    因为题目加了另外一个限制条件:我们要对这堆糖果进行均分的策略。那么我们可以先去统计这堆糖果的种类有多少(因为要求女方种类最多)。
    但是由于引入均分策略,所以我们可能会出现一个情况:
    · 当糖果种类出现次数比糖果对半分的数量还多(即每个种类都只出现一颗糖果,这样会导致所有糖果都被女方拿走,导致男方无糖果)

    那么这个时候我们就不能以糖果种数来进行判断,得使用糖果总数除以2来进行判断。

    代码实现

    class Solution {
        public int distributeCandies(int[] candies) {
            HashSet<Integer> set = new HashSet<>();
            int count = 0;
            for(int candy : candies){
                set.add(candy);
                count++;
            }
            return Math.min(count >> 1, set.size());
        }
    }
    
  • 相关阅读:
    python day01
    Mac上安装pexpect
    raid
    SSL证书制作
    linux grep命令详解
    第一轮迭代小组成员分数分配
    M1事后分析报告(Postmortem Report)
    软件发布说明
    测试报告
    week 9 scenario testing
  • 原文地址:https://www.cnblogs.com/ZJPaang/p/13833664.html
Copyright © 2011-2022 走看看