没有找到任何类似的问题.这是最后一轮Facebook问题:
给你一盒盒子.每个盒子上都有一个非负数,可以重复.
编写一个函数/算法,告诉您选择框的顺序,它将为您提供最大总和.
如果您选择一个方框,它就会从环中取出,它旁边的两个方框(在您选择的方框的右侧和左侧)也是如此.
所以,如果我有一个
{10 3 8 12} 的戒指
如果我选择12,8和10将被销毁而你剩下3.
最大值将首先选择8然后选择10,或者先选择10然后选择8.
我尝试通过取自己的值重新分配它们的值,然后减去旁边的两个作为成本.
所以老戒指是{10 3 8 12}
新环是{-5,-15,-7,-6},我会选择最高的.
但是,如果你有{10,19,10,0},这肯定不起作用,你应该取两个10,但算法将取19和0.
请帮忙?
它很可能是动态编程,但我不知道如何.
戒指可以是任何尺寸.