【发布时间】:2018-07-17 21:35:54
【问题描述】:
我有一个这样的列表:
[1, 2, 5, 2, 7, 3, 9, 5...]
有没有一种有效的方法可以在这里找到两个最大元素的总和:
for i in range():
for j in range():
我发现了这个: "最大子数组问题"
但我还没有完全理解它的作用。
【问题讨论】:
-
所以在这种情况下,结果将是
9+7? -
您可以对数组进行排序,使最大的数字在开头,然后将前两个元素相加
-
是的,但就我而言,我有一个随机列表。我把它作为输入,我尽量避免检查每个元素
-
@TrueBad0ur 你应该澄清一些非常重要的事情。当最大值发生不止一次时,所需的输出是什么?例如,如果您的列表是
[1, 2, 5, 2, 7, 3, 9, 9],您想要的答案是9+9还是9+7?
标签: python algorithm list sub-array