在Python中总持续时间可被60整除的歌曲对
假设我们有一个歌曲列表,第i首歌曲的持续时间为[i]秒。我们必须找到一对以秒为单位的总时间可除以60的歌曲数。
因此,如果时间数组类似于[30,20,150,100,40],则答案将为3。在所有情况下,三对分别为(3,150),(20,100),(20,40)总持续时间可除以60。
为了解决这个问题,我们将遵循以下步骤-
进行映射存储以存储剩余物。设置ans:=0
对于我及时的所有元素-
如果我在rem中可被0和0整除,则ans:=ans+rem[0]
o否则,当rem中有60–(imod60),则ans:=ans+rem[60–(imod60)]
如果我在rem中使用mod60,则rem[imod60]:=rem[imod60]+1
否则rem[imod60]:=1
返回ans
示例
让我们看下面的实现以更好地理解-
class Solution(object):
def numPairsDivisibleBy60(self, time):
ans = 0
remainder = {}
for i in time:
if i % 60 == 0 and 0 in remainder:
ans += remainder[0]
elif 60 - (i%60) in remainder:
ans += remainder[60 - (i%60)]
if i % 60 in remainder:
remainder[i%60]+=1
else:
remainder[i%60]=1
return ans
ob1 = Solution()
print(ob1.numPairsDivisibleBy60([30,20,150,100,40]))输入值
[30,20,150,100,40]
输出结果
3
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法