、主函数部分一直写得不对,但是不知道怎么改
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
class Solution {
public:
int distributeCandies(vector<int>& candyType)
{
//cnt表示candyType数组中重复元素的个数,count表示当前元素与最后一个元素的成立次数
int len=candyType.size()/2,cnt=0,count=0;
sort(candyType.begin(),candyType.end());//首先利用sort函数对candyType数组进行升序排序
for(int i=0;i<candyType.size()-1;i++)//遍历candyType数组中的元素
{
if(candyType[i]!=candyType[i+1])//如果相邻元素不相等,则令cnt++
{
cnt++;
}
if(count==0)//判断当前元素与最后一个元素是否相等这一条件是否为第一次成立
{
if(candyType[i+1]==candyType[len*2-1])//判断当前元素与最后一个元素是否相等
{
cnt++;//重复元素+1
count++;//断开上述的if通路
}
}
}
return cnt<=len?cnt:len;//返回两者中的较小者
}
};
int main()
{
vector<int>candyType = {1,1,2,2,3,3};
cout<<distributeCandies(vector<int>candyType);
return 0;
}