其本质就是看出现次数的最大公共约数是不是大于等于2。
最大共约数就是分组的话,每组最多可以分多少人。
例 1有4个 2有6个 5有8个
最大公约数是2 故每一个数的个数都可以整除2. 即每一个组都可以分成2个数相同的一对
class Solution {
public:
bool hasGroupsSizeX(vector<int>& ve) {
if(ve.size()<=1) return false;
map<int,int> mp;
for(int i=0;i<ve.size();i++) mp[ve[i]]++;
vector<int> ans;
for(auto &t: mp) ans.push_back(t.second);
int temp=ans[0];
for(int i=1;i<ans.size();i++) temp=gcd(temp,ans[i]);
return temp>=2;
}
};