One round
class Solution:
def numPairsDivisibleBy60(self, time: List[int]) -> int:
d = [0]*60
res = 0
for t in time:
rem = t%60
res += d[(60-rem%60)%60] # rem =0
d[rem] += 1
return res
Two round
class Solution:
def numPairsDivisibleBy60(self, time: List[int]) -> int:
d = [0]*60
for t in time:
rem = t%60
d[rem] += 1
res = 0
for i in range(60):
if d[i] == 0: continue
if i == 0 or i == 30:
res += d[i]*(d[i]-1)
else:
res += d[i]*d[60-i]
return res//2