链接
在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。
返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望下标数字 i 和 j 满足 i < j 且有 (time[i] time[j]) % 60 == 0。
示例 1:
代码语言:javascript复制输入:time = [30,20,150,100,40]
输出:3
解释:这三对的总持续时间可被 60 整除:
(time[0] = 30, time[2] = 150): 总持续时间 180
(time[1] = 20, time[3] = 100): 总持续时间 120
(time[1] = 20, time[4] = 40): 总持续时间 60
代码语言:javascript复制func numPairsDivisibleBy60(time []int) int {
counter := 0
// 声明一个数组,存储 除以60后的余数,那么这个数组由[0,59] 组成,最长长度为60
tmp := make([]int, 60)
for _, v := range time {
x := v % 60
// x subParam = 60
var subParam int
if x == 0 {
subParam = 0
} else {
subParam = 60 - x
}
counter = counter tmp[subParam]
// 存储余数x 对应次数,
tmp[x]
}
return counter
}