第一篇博客

有意思。感觉和typora很相似hhh。
我的第一篇博客,开始记录我的颠覆之旅。
因为菜才需要不断的去变强,自己不放弃自己,才会让别人看得起自己。加油。

20.11.27
明天考python,今天刷了刷考题,发现leetcode里还有每日题,很不错。那就开始记录自己的刷题吧。

今日第一题,四数相加
四个list,每个list取1位,四个index放在一个元祖里。使得这四个index所对应的四个值之合为0。

解决方法:(别人的)

  1. 工具:from collections import counters
  • 有点类似于 defaultdict(int)。

  • 例子:dic = collections.Counter(a + b for a in A for b in B)
    a, b 中的元素,排列组合,所得的值的次数。

    有了这个字典。我们就去找 c+d == -(a+b)。(新目标)

  1. 工具:dic.get函数
    相当于dic[key] 但是多一个default值。
    dic.get(key, default)如果当前key不存在则返回
    dic.get(-(c+d), 0)对于所有cd组合取一个负值(如果cd的负值存在,即四数之和位0)所得的数字是ab组合的个数,如果不存在默认为0。
    最后取一个sum获得一共的组合数。
return sum(dic.get(-(c+d),0) for c in C for d in D)

第一次写好丑啊。
本答案链接:reference from question comments

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值