javascript - 有一个数组,从中挑ABC三个整数,让ABC三个整数加起来等于0,看有多少个这样的数组?
高洛峰
高洛峰 2017-04-11 12:13:50
[JavaScript讨论组]

面试题,求解答

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
怪我咯

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

伊谢尔伦

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

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))

結果:

22

我回答過的問題: Python-QA

天蓬老师
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])
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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