给出一个大小为n的数组。我必须在数组中找到k值的所有可能组合,其中k <= n。
答案 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。