前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1010. 总持续时间可被 60 整除的歌曲

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

原创
作者头像
Michel_Rolle
发布2024-07-26 23:36:14
190
发布2024-07-26 23:36:14

链接

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档