给出一个大小为n的数组。如何找到数组中k值的所有组合的总和

时间:2015-08-23 07:56:29

标签: arrays sum

给出一个大小为n的数组。我必须在数组中找到k值的所有可能组合,其中k <= n。

1 个答案:

答案 0 :(得分:0)

这在Python中非常简单,因为代码几乎就像这样的问题:从给定数组中返回长度 k 的所有组合的总和,或者在Python的情况下返回列表。

#!/usr/bin/env python
from __future__ import absolute_import, division, print_function
from itertools import combinations


def calculate_sums(items, k):
    return (sum(combination) for combination in combinations(items, k))


def main():
    for value in calculate_sums([23, 42, 4711], 2):
        print(value)


if __name__ == '__main__':
    main()

打印65,4734和4753,即23 + 42,23 + 4711和42 + 4711。