游戏需要用js实现算法:玩家在零平台。他需要到达平台 N。玩家可以跳到下一个平台或通过一个平台。如果玩家跳到相邻的平台,他会花费 |y2 - y1| 能量,如果通过一个则 3 * |y3 - y1|,其中 yn 是 n 平台的高度。您需要找到玩家到达平台 N 所需的最小能量。
我开始尝试编写这个算法,但陷入了死胡同。
var maxPlatforms = round(10);
var remainder = maxPlatforms % 2;
var energy = 3 * ((maxPlatforms - remainder) / 2);
if(remainder > 0) {
energy = energy + 2;
};
return energy
提前致谢。
从头开始。你可以从倒数第二个或倒数第二个平台到达第n个平台,所以
递归求解到平台零。当一切正常时,它可以转换为动态编程(记忆),记住每个平台的最佳选择。