Tianchi Online Programming 2020 National Day Eight DaysFun-8。ポイントキャンディー

記事ディレクトリ

1.タイトル

https://tianchi.aliyun.com/oj/118289365933779217/122647324212270016
説明:偶数の
長さの整数配列が与えられた場合配列内の異なる番号は異なる種類のキャンディーを表し、各番号は種類のキャンディーを表します。
あなたはこれらのキャンディーを弟と妹の間で均等に分ける必要があります。姉妹が得ることができるキャンディーの最大量を返します

指定された配列の長さの範囲は[2、10,000]であり、偶数です。

指定された配列の数値の範囲は[-100,000、100,000]です。

示例
输入: candies = [1,1,2,2,3,3]
输出: 3
解释:
有三种不同的糖果(1, 2 and 3), 每种糖果有两个。
最佳分法:妹妹拥有[1,2,3] ,弟弟也会拥有拥有[1,2,3]。
妹妹拥有3种不同的糖果。

2.問題解決

  • タイプの数に応じて、重複排除を設定します。最大でも、アレイの長さの半分を超えることはできません。
class Solution {
    
    
public:
    /**
     * @param candies: a list of integers
     * @return: return a integer
     */
    int distributeCandies(vector<int> &candies) {
    
    
        // write your code here
        unordered_set<int> s;
        for(auto c : candies) 
        	s.insert(c);
        return min(candies.size()/2, s.size());
    }
};

私のCSDNブログアドレスhttps://michael.blog.csdn.net/

QRコードを長押しまたはスキャンして、私の公式アカウント(Michael Amin)をフォローし、一緒に来て、学び、一緒に進歩してください!
マイケルアミン

おすすめ

転載: blog.csdn.net/qq_21201267/article/details/108895272