825. Friends Of Appropriate Ages

2018-10-13  本文已影响7人  想学会飞行的阿番

握手定理
年龄为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;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读