最大化和之差

时间:2016-01-30 20:25:51

标签: algorithm math

  

给定N个不同正整数的列表,将列表分成两个   n / 2大小的子列表使得子列表的总和之间的差异   最大化。   假设n是偶数并确定时间复杂度。

我知道,我知道,这是一个家庭作业问题。但问题不一定在于解决问题,而在于了解究竟是什么问题。我可以肯定地说,问题的一半很容易解决,但我认为我没有得到

的含义
  

使得子列表的总和之间存在差异   最大化。

任何有关说明“攻击计划”的帮助都将受到赞赏

1 个答案:

答案 0 :(得分:1)

asuume你有这个清单

  • list : 1 ,1 , 2, 3, 1, 5, 6, 1, 2, 20

这意味着您可以通过多种方式将其拆分为大小为n / 2的子列表 像这样

  • sub list 1 : 3, 1, 5, 6, 1
  • sub list 2 : 1 ,1 , 2, 2, 20

现在计算每个子列表的总和

  • sum of sub list 1 is 16
  • sum of sub list 2 is 26
  • diffrence between them is : 10

但是问题想要两个子列表,例如这个条件

  • 问题条件:最大化子列表总和之间的差异。

它意味着我们可以在所有方式中将主列表拆分为两个子列表,选择一种具有问题条件的方式。

例如,如果我们将上面的列表拆分为此列表

  • sub list 1 : 1 ,1 ,1 ,1 , 2
  • sub list 2 : 2, 3, 5 , 6 , 20

  • sum of sub list 1 is 6

  • sum of sub list 2 is 36
  • diffrence between them is : 30

这是最后一个结果,也是最大值