javascript - 有一个数组,从中挑ABC三个整数,让ABC三个整数加起来等于0,看有多少个这样的数组?

php中文网
发布: 2016-08-20 09:04:06
原创
1307人浏览过

面试题,求解答

回复内容:

面试题,求解答

典型的 3Sum,leetcode 上有原题 https://leetcode.com/problems...

JavaScript 可以看下我的题解 https://github.com/hanzichi/l...

这道题也是职人介绍所老赵和 winter 手写的题,可以看下 https://zhuanlan.zhihu.com/p/...

立即学习Java免费学习笔记(深入)”;

最好的方法貌似是 O(n^2) 的两边逼进

神采PromeAI
神采PromeAI

将涂鸦和照片转化为插画,将线稿转化为完整的上色稿。

神采PromeAI 103
查看详情 神采PromeAI

都确定是3个整数了……直接三重循环枚举啊…………

如同 @xiaoboost 說的, 使用簡單的暴力法就可以做出來:

<code class="python">import itertools

def nsum(lst, n, target):
    count = 0
    for c in itertools.combinations(lst, n):
        if sum(c) == target:
            count += 1
    return count


if __name__ == '__main__':
    lst = [-1, 3, -2, 7, -4, -3, 6, 9, -2, -2, 1, 1, 0, 10, -1, 9, 8, -12]
    print(nsum(lst, 3, 0))</code>
登录后复制

結果:

<code>22</code>
登录后复制

我回答過的問題: Python-QA

<code class="python">from itertools import combinations

def sum_is_sth(lst, sth=0, cnt=3):
    return sum([1 for sub_lst in combinations(lst, cnt) if sum(sub_lst) == sth])</code>
登录后复制

相关标签:
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号