【数组】【打卡65天】leetCode每日一题:575. 分糖果
2021/11/1 23:10:41
本文主要是介绍【数组】【打卡65天】leetCode每日一题:575. 分糖果,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.题目描述
Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。
医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。
给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的最多种类数。
2.算法分析
①糖果最后只能吃糖果总数的一半:n/2
②使用Set集合,取出重复的,也就是计算糖果的种类数
③判断set集合元素数和 n/2 ,当set.size() >= n/2的时候,临界值也就是最大值。
3.代码实现
import java.util.*; class Solution { public int distributeCandies(int[] candyType) { Set<Integer> set = new HashSet<>(); int len = candyType.length / 2; for(int i = 0;i < candyType.length;i++){ set.add(candyType[i]); if(set.size() >= len){ break; } } return set.size(); } }
这篇关于【数组】【打卡65天】leetCode每日一题:575. 分糖果的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版