Leetcode825. 适龄的朋友
1. 问题描述


2. 思路
- 找朋友不找比自己大的
- 找朋友不找比自己小的多的
3. 代码
func numFriendRequests(ages []int) int {
var res int
sort.Ints(ages)
for i := 0; i < len(ages); i++ {
if ages[i] < 15 {
continue
}
index := getMinAgePerson(ages[i], ages)
j := i
for j + 1 < len(ages) && ages[j+1] == ages[i] {
j++
}
res += j - index
}
return res
}
func getMinAgePerson(age int, ages []int) int {
i := 0
// fmt.Printf("ages[i] == %v, age / 2 + 7 == %v\n", ages[i], age / 2 + 7)
for ages[i] < age && ages[i] <= age / 2 + 7 {
i++
}
return i
}
该博客主要介绍了LeetCode第825题——适龄的朋友。题目要求找出数组中符合年龄条件的朋友配对数,条件是年龄在15岁以上,且不找比自己大的朋友,不找比自己小很多的朋友。解决方案是通过排序数组,然后遍历找到符合条件的配对。代码中包含两个关键函数:`numFriendRequests`用于计算配对数,`getMinAgePerson`用于找到最小可能的合适朋友的年龄。
1627

被折叠的 条评论
为什么被折叠?



