网页网站制作维护,东莞网站建设在哪里,济南商城网站建设,东莞模板网站设计目录链接#xff1a;
力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目#xff1a;
https://github.com/September26/java-algorithms 原题链接#xff1a;
力扣
描述#xff1a;
在歌曲列表中#xff0c;第 i 首歌曲的持续时间为 time[i] 秒。
返回其总持…目录链接
力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目
https://github.com/September26/java-algorithms 原题链接
力扣
描述
在歌曲列表中第 i 首歌曲的持续时间为 time[i] 秒。
返回其总持续时间以秒为单位可被 60 整除的歌曲对的数量。形式上我们希望下标数字 i 和 j 满足 i j 且有 (time[i] time[j]) % 60 0。 示例 1
输入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示例 2
输入time [60,60,60]
输出3
解释所有三对的总持续时间都是 120可以被 60 整除。提示
1 time.length 6 * 1041 time[i] 500
描述
* 解题思路
* 首先以和60求余后的结果为key求每个key的数量。
* 然后遍历数组timekeyi%60首先当前key的数量减1。
* 如果key0则求剩余的数中key0的数量。
* 如果key0则求60-key的数量。 解题思路
* 解题思路
* 首先以和60求余后的结果为key求每个key的数量。
* 然后遍历数组timekeyi%60首先当前key的数量减1。
* 如果key0则求剩余的数中key0的数量。
* 如果key0则求60-key的数量。 代码
public class Solution1010 {public int numPairsDivisibleBy60(int[] time) {int[] map new int[60];for (int i : time) {map[i % 60];}int result 0;for (int i : time) {int key i % 60;map[key]--;if (key 0) {result map[60 - key];} else {result map[key];}}return result;}
}