vip网站怎么做,wordpress简约博客,深圳做网站公司有哪些企业,wordpress手机登陆#x1f680; 算法题 #x1f680; #x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 #x1f340; #x1f332; 越难的东西,越要努力坚持#xff0c;因为它具有很高的价值#xff0c;算法就是这样✨ #x1f332; 作者简介#xff1a;硕风和炜#xff0c;… 算法题 算法刷题专栏 | 面试必备算法 | 面试高频算法 越难的东西,越要努力坚持因为它具有很高的价值算法就是这样✨ 作者简介硕风和炜CSDN-Java领域优质创作者保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享 恭喜你发现一枚宝藏博主,赶快收入囊中吧 人生如棋我愿为卒行动虽慢可谁曾见我后退一步 算法题 目录 题目链接⛲ 题目描述 求解思路实现代码运行结果⚡ 哈希表 求解思路 实现代码 运行结果 共勉 题目链接
575. 分糖果
⛲ 题目描述
Alice 有 n 枚糖其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长所以前去拜访了一位医生。
医生建议 Alice 要少摄入糖分只吃掉她所有糖的 n / 2 即可n 是一个偶数。Alice 非常喜欢这些糖她想要在遵循医生建议的情况下尽可能吃到最多不同种类的糖。
给你一个长度为 n 的整数数组 candyType 返回 Alice 在仅吃掉 n / 2 枚糖的情况下可以吃到糖的 最多 种类数。
示例 1
输入candyType [1,1,2,2,3,3] 输出3 解释Alice 只能吃 6 / 2 3 枚糖由于只有 3 种糖她可以每种吃一枚。 示例 2
输入candyType [1,1,2,3] 输出2 解释Alice 只能吃 4 / 2 2 枚糖不管她选择吃的种类是 [1,2]、[1,3] 还是 [2,3]她只能吃到两种不同类的糖。 示例 3
输入candyType [6,6,6,6] 输出1 解释Alice 只能吃 4 / 2 2 枚糖尽管她能吃 2 枚但只能吃到 1 种糖。
提示
n candyType.length 2 n 104 n 是一个偶数 -105 candyType[i] 105 求解思路实现代码运行结果 ⚡ 哈希表 求解思路
通过理解题目的意思我们需要求解的是有多少种不同类型的糖果在满足不超过n/2的条件下我们通过哈希表去重元素后得到的元素个数和n/2取其中的最小值即可。有了基本的思路接下来我们就来通过代码来实现一下。 实现代码
class Solution {public int distributeCandies(int[] candyType) {int n candyType.length;HashSetInteger set new HashSet();for (int candy : candyType) {set.add(candy);}return Math.min(set.size(), n / 2);}
}运行结果 共勉
最后我想和大家分享一句一直激励我的座右铭希望可以与大家共勉