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

Algorithm 从N个数字列表中计算最大和,每个列表中取一个元素,algorithm,np,Algorithm,Np,问题陈述:我有N个数字列表。我必须从每个列表中提取一个元素,并且不能从任何列表中提取多个数字。计算最大和。 我认为这是一个NP难问题。如果它确实是一个NP难问题,什么假设可以使它成为一个多项式复杂性问题? 这是一个真正的行业问题 取每个列表的最大值,然后求和 在python中: data = [[1, 2, 1], [3, 2, 1], [0, -1, 2]] result = sum(max(sub) for sub in data) # -> 7 复杂性=O(n),其中n是子列表中

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

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

在python中:

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

# -> 7

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

为什么不对所有列表进行排序,然后从每个列表中选择最后一个元素,这将为您提供最大的总和。也许您想得太多了。我觉得有一些重要信息您没有告诉我们。如上所述,问题似乎非常简单:在每个列表中找到最大数量,并将它们相加。是否存在阻止您这样做的限制?