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());
        }
    }
    
  • 相关阅读:
    Spring(3)
    Spring(2)
    Spring(1)
    2016年给自己的一个清单计划
    今天早上是我第一次发博客,请大家多多关照
    QTP知识积累
    [转]基于实际测试的功能测试点总结
    Django之模板
    Django之视图
    HTML
  • 原文地址:https://www.cnblogs.com/ZJPaang/p/13833664.html
Copyright © 2011-2022 走看看