题目分析:有偶数个糖果,哥哥和妹妹平分。数字代表糖果的种类,问妹妹最多有多少种类的糖果。首先妹妹最多只能有一半的糖果,如果糖果种类数少于糖果数的一半,那么妹妹能有全部种类的糖果,否则最多有一半糖果数量种类的糖果。即求一半数量的糖果和糖果种类哪个少。
代码:
int distributeCandies(vector<int>& candies) {
int num = candies.size()/2;
unordered_set<int> s;
for(auto x : candies)
s.insert(x);
return s.size()<num?s.size():num;
}