- 適齡的朋友
在社交媒體網站上有 n 個用戶。給你一個整數數組 ages ,其中 ages[i] 是第 i 個用戶的年齡。
如果下述任意一個條件為真,那么用戶 x 將不會向用戶 y(x != y)發送好友請求:
age[y] <= 0.5 * age[x] + 7
age[y] > age[x]
age[y] > 100 && age[x] < 100
否則,x 將會向 y 發送一條好友請求。
注意,如果 x 向 y 發送一條好友請求,y 不必也向 x 發送一條好友請求。另外,用戶不會向自己發送好友請求。
返回在該社交媒體網站上產生的好友請求總數。
思路,求出每個元素對應的數量,相加求和
class Solution {public int numFriendRequests(int[] ages) {int res = 0;int left = 0;int right = 0;int n = ages.length;Arrays.sort(ages);for(int age : ages){if(age<=14){continue;}while(ages[left]<=0.5*age+7){++left;}while(right<ages.length-1&&ages[right+1]<=age){++right;}res += right - left;} return res;}
}