从2d数组中找到最低和路径

时间:2016-04-03 09:08:12

标签: java algorithm

考虑下面的一个算法就是

的陈述

给定一个矩阵,每个节点都有一个值。您从0,0开始,必须到达n,m。从i,j开始,您可以转到i+1,ji,j+1。当您踩到每个块时,该块上的值将添加到您当前的分数中。您必须携带的最低初始分数是多少,这样您最终可以n,m(通过任何可能的途径)获得最终得分。

例如:

Matrix ->        2   3   4
                -5  -6   7
                 8   3   1

Ans - > 6 - 对于路径2,-5,-6,3,1我们需要初始得分为6,这样当我们登陆1时,我们的得分为1

所以我可以使用暴力和动态编程来做到这一点,但仍然在考虑可能比这更好的方法,请分享你的想法,只是想法/想法我不需要实现,因为我可以做到这一点。

1 个答案:

答案 0 :(得分:-1)

有很多搜索算法,我鼓励你阅读这些维基百科页面:

https://en.wikipedia.org/wiki/Pathfinding

https://en.wikipedia.org/wiki/Tree_traversal

一种可能的解决方案是将数组转换为图形并将最短路径算法应用于它,另一种解决方案是使用一些IA算法,如A *。

链接到维基百科的A *(砸到明星):

https://en.wikipedia.org/wiki/A*_search_algorithm