题意理解:每个数字代表一类,分给两个人,当两个人分得数目相同时,种类的最大数
种类的最大数:当总类别数小于总数/2,是总类别数
否则是总数/2
class Solution {
public:
int distributeCandies(vector<int>& candies) {
if(candies.size()==0)return 0;
map<int,int> mp;
for(int i=0;i<candies.size();i++)
{
if(mp.find(candies[i])==mp.end())
mp[candies[i]]=1;
else
mp[candies[i]]++;
}
return mp.size()<candies.size()/2?mp.size():candies.size()/2;
}
};