握手定理
年龄为i的人,和年龄为j的人,最终可配对r(i)Xr(j),同龄人之间可配对数为r(i)X(r(i)-1)
class Solution {
public:
/*
小于等于14,是不可以滴,所以直接从15开始取值
*/
int numFriendRequests(vector<int>& ages) {
vector<int> ren(121,0);
for(auto age:ages) ren[age]++;
int result = 0;
for(int i =15,minage=15,sumage=0;i<121;sumage+=ren[i],result+=ren[i++]*(sumage-1))
while(minage<=0.5*i+7) sumage -=ren[minage++];
return result;
}
};
网友评论