LeetCode 1010. Pairs of Songs With Total Durations Divisible by 60

問題

有一個(gè)歌曲列表,第i首歌有time[t]的時(shí)長。返回成對歌曲的數(shù)量楔敌,要求它們時(shí)長之和能被60整除。即i < j驻谆,(time[i] + time[j]) % 60 = 0卵凑。

栗子1:

輸入:[30,20,150,100,40]
輸出:3

匹配結(jié)果:
30-150、20-100旺韭、20-40

栗子2:

輸入:[60,60,60]
輸出:3

匹配結(jié)果:
60-60氛谜、60-60、60-60

注意:

  1. 1 <= time.length <= 60000
  2. 1 <= time[i] <= 500

想看英文的戳這里:原題地址

解題思路

很容易想到的是兩層 for 循環(huán)区端,但既然題目出在這了值漫,自然不可能是暴力循環(huán)法。所以需要從 % 60 上面來思考织盼。

如果 (x + y) % 60 = 0杨何,則 x % 60 = 60 - y % 60,其實(shí)這個(gè)規(guī)則就是最主要的解題思路沥邻。

x % 60的范圍是[0, 59]危虱,60 - y % 60的范圍是[0, 60]。所以為了使兩者取值范圍相等唐全,需要將后者%60埃跷,即x % 60 = (60 - y % 60) % 60

所以當(dāng)我們遇到某個(gè)數(shù)t時(shí)邮利,只需要計(jì)算公式左邊的值的個(gè)數(shù)有幾個(gè)弥雹,則有幾對。

舉個(gè)栗子延届,比如time = [20, 40, 100, 80]剪勿。

  1. 遇到 20,套用公式右邊計(jì)算出與之匹配的數(shù) %60 的結(jié)果 60 - y % 60 = 40方庭。因?yàn)槭堑谝粋€(gè)數(shù)厕吉,無與之匹配的酱固。
  2. 遇到 40,與之匹配的數(shù) %60的結(jié)果 為20头朱,存在20运悲, 共 1 個(gè)。
  3. 遇到 100髓窜, 與之匹配的數(shù) %60的結(jié)果 為 20扇苞,存在20, 共 1 個(gè)寄纵。
  4. 遇到 80鳖敷,與之匹配的數(shù) %60 的結(jié)果為 40,存在40,100程拭,共 2 個(gè)定踱。

所以我們可以用數(shù)組arrayt % 60 出現(xiàn)的個(gè)數(shù),遍歷time數(shù)組恃鞋,直接取出array[(60 - t % 60) % 60]即為匹配的對數(shù)崖媚。

swift代碼如下:

func numPairsDivisibleBy60(_ time: [Int]) -> Int {
    var count = 0
    var array = [Int]()
    
    var i = 0
    while i < 60 {
        // 初始化為 0
        array.append(0)
        i += 1
    }
    
    for t in time {
        count += array[(60 - t % 60) % 60]
        
        // 次數(shù)加1
        array[t % 60] += 1
    }
    
    return count
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市恤浪,隨后出現(xiàn)的幾起案子畅哑,更是在濱河造成了極大的恐慌,老刑警劉巖水由,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荠呐,死亡現(xiàn)場離奇詭異,居然都是意外死亡砂客,警方通過查閱死者的電腦和手機(jī)泥张,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鞠值,“玉大人媚创,你說我怎么就攤上這事⊥瘢” “怎么了钞钙?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長声离。 經(jīng)常有香客問我歇竟,道長,這世上最難降的妖魔是什么抵恋? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮宝磨,結(jié)果婚禮上弧关,老公的妹妹穿的比我還像新娘盅安。我一直安慰自己,他們只是感情好世囊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布别瞭。 她就那樣靜靜地躺著,像睡著了一般株憾。 火紅的嫁衣襯著肌膚如雪蝙寨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天嗤瞎,我揣著相機(jī)與錄音墙歪,去河邊找鬼。 笑死贝奇,一個(gè)胖子當(dāng)著我的面吹牛虹菲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播掉瞳,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼毕源,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了陕习?” 一聲冷哼從身側(cè)響起霎褐,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎该镣,沒想到半個(gè)月后冻璃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拌牲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年俱饿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塌忽。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拍埠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出土居,到底是詐尸還是另有隱情枣购,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布擦耀,位于F島的核電站棉圈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眷蜓。R本人自食惡果不足惜分瘾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吁系。 院中可真熱鬧德召,春花似錦白魂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肴掷,卻和暖如春敬锐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呆瞻。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工台夺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栋烤。 一個(gè)月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓谒养,卻偏偏與公主長得像,于是被迫代替她去往敵國和親明郭。 傳聞我的和親對象是個(gè)殘疾皇子买窟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 寫在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 2,734評論 0 8
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,325評論 0 2
  • 個(gè)人學(xué)習(xí)批處理的初衷來源于實(shí)際工作;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求薯定,從而在測試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,691評論 0 11
  • 首頁 資訊 文章 資源 小組 相親 登錄 注冊 首頁 最新文章 IT 職場 前端 后端 移動端 數(shù)據(jù)庫 運(yùn)維 其他...
    Helen_Cat閱讀 3,843評論 1 10
  • 假如我是一只雄雞始绍, 我也應(yīng)該用嘹亮的喉嚨歌唱, 這被小崗農(nóng)民私包的土地话侄, 這永遠(yuǎn)洶涌著我們的希望的河流亏推, 這融化積...
    梁政明閱讀 260評論 0 0