825. Friends Of Appropriate Ages
用presum的方法 统计有多少个小于等于这个数的年龄
1 class Solution { 2 public int numFriendRequests(int[] ages) { 3 if(ages.length <= 1) return 0; 4 int[] count = new int[121]; 5 for(int i = 0; i < ages.length; i++){ 6 count[ages[i]]++; 7 } 8 int[] preSum = new int[122]; 9 for(int i = 0; i < 121; i++){ 10 preSum[i+1] = count[i] + preSum[i]; 11 } 12 int res = 0; 13 for(int i = 0; i < ages.length; i++){ 14 int max = ages[i]; 15 int min = ages[i] / 2 + 7; 16 res += Math.max(0, preSum[max+1] - preSum[min+1] - 1); // 减去自身也要大于0啊!!! 17 // System.out.println("ages:" + ages[i] + res); 18 } 19 return res; 20 } 21 }