給定一些音樂的時長,我們想從中選兩個不同的歌曲,使得他們的總時長是60的倍數(shù),請計算我們有多少種選法
思路:
創(chuàng)建一個數(shù)組用來表示時長為n的歌有多少個,用music 來標記
遍歷musics据悔,如果時長為60,則只能與時長為60的組合
如果不是耘沼,則與對應的補組合(對于第N個歌曲极颓,它可以組合的個數(shù)為對應的補的個數(shù),舉例來說 第N個歌曲的時長為1群嗤,那么時長為59的歌曲的個數(shù)就是它可以組合的個數(shù))
class Solution:
"""
@param musics: the musics
@return: calc the number of pair of music
"""
def musicPairs(self, musics):
# write your code here
count = 0
music = [0]*61
for i in musics:
if i == 60:
count += music[i]
else:
count += music[60-i]
music[i] += 1
return count