diff --git a/leetcode/0825.Friends-Of-Appropriate-Ages/825. Friends Of Appropriate Ages.go b/leetcode/0825.Friends-Of-Appropriate-Ages/825. Friends Of Appropriate Ages.go index 6efa1b3e..ee250c68 100644 --- a/leetcode/0825.Friends-Of-Appropriate-Ages/825. Friends Of Appropriate Ages.go +++ b/leetcode/0825.Friends-Of-Appropriate-Ages/825. Friends Of Appropriate Ages.go @@ -1,6 +1,33 @@ package leetcocde +import "sort" + +// 解法一 func numFriendRequests(ages []int) int { + return 0 +} + +// 解法二 双指针 + 排序 O(n logn) +func numFriendRequests1(ages []int) int { + sort.Ints(ages) + left, right, res := 0, 0, 0 + for _, age := range ages { + if age < 15 { + continue + } + for ages[left]*2 <= age+14 { + left++ + } + for right+1 < len(ages) && ages[right+1] <= age { + right++ + } + res += right - left + } + return res +} + +// 解法三 暴力解法 O(n^2) +func numFriendRequests2(ages []int) int { res, count := 0, [125]int{} for _, x := range ages { count[x]++