我正在尝试找到一种算法,在这种算法中,我可以通过数字金字塔,从金字塔的顶部开始,然后前进到下一行中的相邻数字,每个数字都必须添加到最终总和中.问题是,我必须找到返回最高结果的路线.
我已经尝试在下一行中查看较高的相邻数字,但这不是答案,因为它并不总能获得最佳路线.
IE
34
43 42
67 89 68
05 51 32 78
72 25 32 49 40
Run Code Online (Sandbox Code Playgroud)
如果我通过最高的相邻号码,它是:
34 + 43 + 89 + 51 + 32 = 249
但是,如果我去:
34 + 42 + 68 + 78 + 49 = 269
在第二种情况下,结果更高,但我手工制作了这条路线,我无法想到在所有情况下获得最高结果的算法.
任何人都可以帮我一把吗?
(如果我没有表达自己,请告诉我)