https://leetcode-cn.com/problems/distribute-candies/
先在hash表中记录下每种糖果的数量,遍历原数组,优先只有一个的该种糖果分配给妹妹(是一种贪心),如果该种糖果数量大于1,则分配给弟弟。
int distributeCandies(vector<int>& candyType) {
int n(candyType.size());
int ans=0;
unordered_map<int,int> mp;
for(auto i:candyType){
mp[i]++;
}
for(auto i:candyType){
if(ans<n/2){
if(mp[i]==1){
ans++;
}
else{
mp[i]--;
}
}
}
return ans;
}