Friends Of Appropriate Ages

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class Solution:
    def numFriendRequests(self, ages: List[int]) -> int:
        res = 0
        numInAge = [0] * 121
        sumInAge = [0] * 121

        for i in ages:
            numInAge[i] += 1

        for i in range(1, 121):
            sumInAge[i] = numInAge[i] + sumInAge[i - 1]

        for i in range(15, 121):
            if numInAge[i] == 0:
                continue
            count = sumInAge[i] - sumInAge[i // 2 + 7]
            res += count * numInAge[i] - numInAge[i] # People will not friend request themselves

        return res