class Solution:
def numPairsDivisibleBy60(self, time: 'List[int]') -> int:
sums = 0
s = {}
n = len(time)
if n>=20:
targets = []
for i in range(1,19):
targets.append(60*i)
for i in range(len(time)):
cur = time[i]
for tar in targets:
cop = tar - cur
if cop < 0:
continue
elif cop > 500:
break
elif cop in s.keys():
sums += s[cop]
if cur in s.keys():
s.update({cur:s[cur]+1})
else:
s.update({cur:1})
else:
for i in range(len(time)):
for j in range(i+1,len(time)):
if (time[i]+time[j])%60==0:
sums+=1
return sums

下面这个是简写:

 class Solution:
def numPairsDivisibleBy60(self, time: 'List[int]') -> int:
c = collections.Counter()
res = 0
for t in time:
res += c[-t % 60]
c[t % 60] += 1
return res

leetcode1010的更多相关文章

  1. [Swift]LeetCode1010. 总持续时间可被 60 整除的歌曲 | Pairs of Songs With Total Durations Divisible by 60

    In a list of songs, the i-th song has a duration of time[i] seconds. Return the number of pairs of s ...

随机推荐

  1. Redis持久化实践及灾难恢复模拟 [转]

    参考资料:Redis Persistence http://redis.io/topics/persistenceGoogle Groups https://groups.google.com/for ...

  2. windows下网络丢包模拟软件(Network Emulator for Windows Toolkit)

    最近公司有一个直播的测试项目,需要模拟各种网络环境下的直播状态,最后找到一款这样的软件(如果有遇到更好的软件,望和网友多多交流) 介绍一款windows下的网络模拟器,可以模拟各种丢包或延迟的网络(N ...

  3. bzoj5006: [THUWC2017 Bipartite]随机二分图

    某人在玩一个非常神奇的游戏.这个游戏中有一个左右各 nnn 个点的二分图,图中的边会按照一定的规律随机出现. 为了描述这些规律,某人将这些边分到若干个组中.每条边或者不属于任何组 (这样的边一定不会出 ...

  4. vc++获取网页源码之使用类型库(TypeLib)生成包装类

    1.在MFC项目名称上 右击->添加->选择Visual C++下的MFC->TypeLib中的MFC类->添加 可以从注册表表中共或是文件中根据相应的接口生成对应的包装类 效 ...

  5. java翻转字符串中的单词

    效果: 输入: "java and python" 输出: "avaj dna nohtyp" 代码: 版本1: 不考虑字符串开头有空格,单词间有多个空格空格的 ...

  6. Underscore.js部分讲解

    underscore是非常好用的封装库,大小只有4KB,大多插件都是以underscore为基础: underscore分5大部分:集合:数组:函数:对象:工具 集合:集合就是伪数组,虽然长的和数组一 ...

  7. android adb push 命令

    1.获得root权限:adb root 2.设置/system为可读写:adb remount 3.将PC机上文件复制到手机:adb push 文件名  /system/lib

  8. css定位(后盾网)

    1.绝对定位:脱离了文档流,如果设置了left和top,位置相对浏览器来定位,如果不设值top和left,还是按照原来的文档流的位置站位,位置移走后,原来的空间位被其他元素占据 ***应用:一般来说我 ...

  9. SCCM2012 R2实战系列之五:发现方法

    打开SCCM2012的控制台 点击左侧栏的“管理”选项,然后展开“层次结构配置”,点击“发现方法”来配置客户端发现. 勾选“启用Active Directory林发现”.“发现Active Direc ...

  10. tf.assign,tf.assign_add,tf.assign_sub

    a = tf.Variable(0.0,dtype=tf.float32) with tf.Session() as sess: sess.run(tf.global_variables_initia ...