LeetCode 825. Friends Of Appropriate Ages

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smmyy022/article/details/83341172

题解

看似简单,其实也简单,就是出题人故意挖了坑等你跳。
第一坑,冗余条件3,和2一个意思。
第二坑,排序无能,爆时间。
躲了这俩坑就基本明白了,就是桶排序。

ps: 我的代码还可以优化,可以再缩减遍历的空间。


Code

int cot[121];
int numFriendRequests(vector<int>& ages) {
        int n = ages.size();
        for(int i=0;i<=120;i++) cot[i]=0;
        int big=-1;
        for(int age:ages){
            cot[age]++;
            big=max(age,big);
        }
        
        int res=0;
        for(int i=0;i<=big;i++){
            if(cot[i]!=0){
                for(int j=0;j<i;j++){
                    if(cot[j]==0) continue;
                    else if(j>(i/2+7)) res+=cot[j]*cot[i];
                }
                if(i>14) res+= cot[i]*(cot[i]-1);
            }
        }
        return res;
    }

猜你喜欢

转载自blog.csdn.net/smmyy022/article/details/83341172