1. 程式人生 > 其它 >20211101 LeetCode刷題 怎樣吃糖果種類最多 (難度:簡單)

20211101 LeetCode刷題 怎樣吃糖果種類最多 (難度:簡單)

題: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 種糖,她可以每種吃一枚。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/distribute-candies
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

答案:

class Solution {
    public int distributeCandies(int[] candyType) {
            int count =candyType.length/2;
            Set<Integer> set=new HashSet();
            for(int i:candyType){
                
set.add(Integer.valueOf(i)); } int result=0; if(count<set.size()){ result=count; }else{ result=set.size(); } return result; } }

結果:

執行結果: 通過 顯示詳情

新增備註

執行用時:32 ms, 在所有Java提交中擊敗了90.94%的使用者 記憶體消耗:40.3 MB, 在所有Java提交中擊敗了64.27%的使用者 通過測試用例:206/206