当满足以下条件时,A 不能给 B(A、B不为同一人)发送好友请求:
age[B] <= 0.5 * age[A] + 7
age[B] > age[A]
age[B] > 100 && age[A] <...示例1
输入:
[16,16]
输出:
2
解释:
二人可以互发好友申请。
示例2
输入:
[16,17,18]
输出:
2
解释:
好友请求可产生于 17 -> 16, 18 -> 17....示例3
输入:
[20,30,100,110,120]
输出:
3
解释:
好友请求可产生于 110 -> 100, 120 -> 110, 120 -> 100....二分法
另一个方法是先对数组进行排序,然后遍历每一个数作为 b ,然后二分寻找 在哪就行了,中间的数字都可以作为 a ,这样最终的时间复杂度是 。
计数法
有没有更好的办法呢?...那么 b 岁的人数就有 个,而符合条件的 a 在 之间。其中 需要单独讨论,因为包含了自己邀请自己的情况,这种情况邀请的数量是 。而 a 在 范围内的话,数量是 。