给定N个不同正整数的列表,将列表分成两个 n / 2大小的子列表使得子列表的总和之间的差异 最大化。 假设n是偶数并确定时间复杂度。
我知道,我知道,这是一个家庭作业问题。但问题不一定在于解决问题,而在于了解究竟是什么问题。我可以肯定地说,问题的一半很容易解决,但我认为我没有得到
的含义使得子列表的总和之间存在差异 最大化。
任何有关说明“攻击计划”的帮助都将受到赞赏
答案 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
这是最后一个结果,也是最大值