假设我们有一个带有n个元素的数组(n%3 = 0).在每个步骤中,从数组中取一个数字.你要么是最左边的,要么是最右边的.如果选择左边的元素,则将此元素添加到总和中,并删除右边的两个数字,反之亦然.
示例:A = [100,4,2,150,1,1],sum = 0.
2.采取最右边的元素.A = [] sum = 100 + 150 = 250
所以A的结果应该是250,序列是Left,Right.
如何计算数组中可以得到的最大总和?我如何确定我必须提取元素的顺序?
我想这个问题最好用动态编程来解决,然后可以通过回溯来确定具体的顺序.