Problem
Some people will make friend requests. The list of their ages is given and ages[i] is the age of the ith person.
Person A will NOT friend request person B (B != A) if any of the following conditions are true:
age[B] <= 0.5 * age[A] + 7
age[B] > age[A]
age[B] > 100 && age[A] < 100
Otherwise, A will friend request B.
Note that if A requests B, B does not necessarily request A. Also, people will not friend request themselves.
How many total friend requests are made?
Example 1:
Input: [16,16]
Output: 2
Explanation: 2 people friend request each other.
Example 2:
Input: [16,17,18]
Output: 2
Explanation: Friend requests are made 17 -> 16, 18 -> 17.
Example 3:
Input: [20,30,100,110,120]
Output:
Explanation: Friend requests are made 110 -> 100, 120 -> 110, 120 -> 100.
Notes:
1 <= ages.length <= 20000.
1 <= ages[i] <= 120.
class Solution { public int numFriendRequests(int[] ages) { //0.5*ages[A]+7 < ages[B] <= ages[A] //7 < 0.5*ages[A] ====> ages[A] >= 15 int res = 0; int[] nums = new int[121]; int[] sums = new int[121]; for (int age: ages) { nums[age]++; } for (int i = 1; i <= 120; i++) { sums[i] = sums[i-1]+nums[i]; } for (int i = 15; i <= 120; i++) { if (nums[i] == 0) continue; int count = sums[i] - sums[i/2+7]; //number of range B res += count*nums[i] - nums[i]; //range B * number of age A } return res; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72320.html
摘要:首先建立按時間戳從大到小排列的,找到中的,出其中在中存在的,把每一個的推特鏈表放入,再從中取頭十條推特的放入結果數組。 Design Twitter Note 建立兩個HashMap,一個存user,一個存tweets。以及整型的時間戳timestamp。user的k-v pair是userId-follower_set,tweets的k-v pair是userId-tweets_li...
摘要:簡介我們經常在別人的代碼中看見,,函數,這三個函數用起來很相似,都是合并源對象的屬性到目標對象中。會修改原來的對象在版本中,是的別名,它們的作用是一模一樣的。在版本中,是的別名,和有點區別。如果源對象的屬性值為,則會忽略該屬性。 簡介 我們經常在別人的代碼中看見 assign,extend,merge 函數,這三個函數用起來很相似,都是合并源對象的屬性到目標對象中。 既然都是合并對象,...
摘要:在編程文化中,我們有一個名為面向對象編程的東西,這是一組技術,使用對象和相關概念作為程序組織的中心原則。這是構造器函數的作用。因此,上面的類聲明等同于上一節中的構造器定義。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項目原文:The Secret Life of Objects 譯者:飛龍 協議:CC BY-NC-SA 4.0 自豪地采用谷歌翻譯 部分參考...
摘要:小白前端一枚,最近在研究,記錄自己學習過程中的一些筆記,以及自己的理解。此外,結構體也支持嵌套。在函數聲明時,在函數名前放上一個變量,這個變量稱為方法的接收器,一般是結構體類型的。 小白前端一枚,最近在研究golang,記錄自己學習過程中的一些筆記,以及自己的理解。 go中包的依賴管理 go中的切片 byte 和 string go中的Map go中的struct結構體 go中的方...
摘要:元組和列表的為唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣創建元組的兩種方法第一種第二種如果元祖內只有一個元素,那么需要加上一個逗號,否則就變成字符串了。 元組(tuple)和列表的為唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣 創建元組的兩種方法 第一種 ages = (11, 22, 33, 44, 55) 第二種 ages = tuple((11,...
閱讀 1951·2021-09-07 10:24
閱讀 2087·2019-08-30 15:55
閱讀 2038·2019-08-30 15:43
閱讀 671·2019-08-29 15:25
閱讀 1046·2019-08-29 12:19
閱讀 1927·2019-08-23 18:32
閱讀 1515·2019-08-23 17:59
閱讀 947·2019-08-23 12:22