小编oli*_*ser的帖子

具有特殊条件的阵列中的最大总和

假设我们有一个带有n个元素的数组(n%3 = 0).在每个步骤中,从数组中取一个数字.你要么是最左边的,要么是最右边的.如果选择左边的元素,则将此元素添加到总和中,并删除右边的两个数字,反之亦然.

示例:A = [100,4,2,150,1,1],sum = 0.

  1. 采取最左边的元素.A = [4,2,150] sum = 0 + 100 = 100

2.采取最右边的元素.A = [] sum = 100 + 150 = 250

所以A的结果应该是250,序列是Left,Right.

如何计算数组中可以得到的最大总和?我如何确定我必须提取元素的顺序?

我想这个问题最好用动态编程来解决,然后可以通过回溯来确定具体的顺序.

algorithm dynamic-programming

2
推荐指数
1
解决办法
193
查看次数

标签 统计

algorithm ×1

dynamic-programming ×1