从N个数字列表中计算最大和,从每个列表中取一个元素

时间:2018-05-01 01:54:15

标签: algorithm np

问题陈述:我有N个数字列表。我必须从每个列表中获取一个元素,并且不能从任何列表中获取多个数字。计算最大总和。 我认为这是一个NP难问题。如果它确实是NP-Hard问题,那么什么假设可能使它成为多项式复杂性问题? 这是一个真正的行业问题。

1 个答案:

答案 0 :(得分:3)

取每个列表的最大值,然后求它。

在python中:

data = [[1, 2, 1], [3, 2, 1], [0, -1, 2]]
result = sum(max(sub) for sub in data)

# -> 7

复杂度= O(n),其中n是子列表中元素的总数