1010. 总持续时间可被 60 整除的歌曲

2024-07-26 23:36:14 浏览数 (1)

链接

在歌曲列表中,第 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
}

0 人点赞