【解题报告】Leecode. 575. 分糖果——Leecode每日一题系列
題目鏈接:https://leetcode-cn.com/problems/distribute-candies/
題解匯總:https://zhanglong.blog.csdn.net/article/details/121071779
題目描述
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
水題,通過哈希表去重,最后判斷即可。
class Solution { public:int distributeCandies(vector<int>& candyType) {unordered_map<int, int>um;for(auto i : candyType) um[i] = 1;return um.size() > candyType.size()/2 ? candyType.size()/2 : um.size();} };
??????——弱小和無知不是生存的障礙,傲慢才是。
總結
以上是生活随笔為你收集整理的【解题报告】Leecode. 575. 分糖果——Leecode每日一题系列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leecode题解汇总(附题型归类)
- 下一篇: 【通俗易懂】RPA是什么?