日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【Leetcode】825. Friends Of Appropriate Ages

發(fā)布時(shí)間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Leetcode】825. Friends Of Appropriate Ages 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目地址:

https://leetcode.com/problems/friends-of-appropriate-ages/

給定nnn個(gè)人的年齡,當(dāng)滿(mǎn)足以下要求的時(shí)候aaa不會(huì)給bbb發(fā)消息:
1、b≤0.5a+7b\le 0.5a+7b0.5a+7
2、b>ab>ab>a
3、b>100∧a<100b>100 \land a<100b>100a<100
其余情況aaa都會(huì)給bbb發(fā)消息(自己不會(huì)發(fā)給自己)。問(wèn)總共會(huì)發(fā)多少消息。題目保證所有年齡都是1~1201\sim 1201120的整數(shù)。

當(dāng)滿(mǎn)足b≤ab\le aba的時(shí)候條件333是不會(huì)發(fā)生的。所以只需要判斷前兩個(gè)條件。先對(duì)每個(gè)年齡計(jì)數(shù),然后開(kāi)兩重循環(huán),外層枚舉發(fā)的人,內(nèi)層枚舉收的人,當(dāng)滿(mǎn)足條件的時(shí)候計(jì)數(shù)。如果年齡相同,計(jì)數(shù)的時(shí)候要避免掉自己給自己發(fā)消息的情況。代碼如下:

public class Solution {public int numFriendRequests(int[] ages) {int res = 0;int[] cnt = new int[121];for (int age : ages) {cnt[age]++;}for (int i = 1; i <= 120; i++) {for (int j = 1; j <= 120; j++) {if (j > 0.5 * i + 7 && i >= j) {res += i == j ? cnt[i] * (cnt[j] - 1) : cnt[i] * cnt[j];}}}return res;} }

時(shí)空復(fù)雜度O(1)O(1)O(1)

總結(jié)

以上是生活随笔為你收集整理的【Leetcode】825. Friends Of Appropriate Ages的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。