Java 从二维数组中查找最小和路径

Java 从二维数组中查找最小和路径,java,algorithm,Java,Algorithm,只要考虑一下下面的一个算法就可以了 给定一个矩阵,每个节点都有一个值。从0,0开始,必须达到n,m。从i,j你可以到i+1,j或者i,j+1。当你在每一个区块上行走时,该区块上的值将被添加到你的当前分数中。您必须携带的最低初始分数是多少,这样您就可以通过任何可能的路径始终达到n,M,并且在最后获得正分数 例如: Ans->6–对于路径2,-5,-6,3,1,我们需要初始分数为6,这样当我们在1上着陆时,我们的正分数为1 所以我可以使用蛮力和动态编程来实现这一点,但仍在考虑比这更好的方法,请分享您

只要考虑一下下面的一个算法就可以了

给定一个矩阵,每个节点都有一个值。从0,0开始,必须达到n,m。从i,j你可以到i+1,j或者i,j+1。当你在每一个区块上行走时,该区块上的值将被添加到你的当前分数中。您必须携带的最低初始分数是多少,这样您就可以通过任何可能的路径始终达到n,M,并且在最后获得正分数

例如:

Ans->6–对于路径2,-5,-6,3,1,我们需要初始分数为6,这样当我们在1上着陆时,我们的正分数为1


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

有很多搜索算法,我鼓励您阅读以下维基百科页面:

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

链接到维基百科,获得一个*明星:


如果你问的是关于算法的想法,我不认为这是个好地方。也许试试。这听起来像是一个经典的a*算法。也许dijkstra算法有帮助。你不能指望一个比O | E |=Om*n更高效的算法,而且空间复杂度Ominm,n也很好。。。自下而上地使用动态规划解决方案@我希望你不是认真的。。。对于这个问题来说,这些算法完全是杀伤力过大,Dijkstra不会使用负的边权重。@fabian是对的,因为你的算法需要Onm才能读取地图,所以即使你的算法可以运行得比这个复杂度更好也没有帮助。如果没有其他限制,简单的DP就可以了。@fabian谢谢你提醒我,我会编辑我的答案。
Matrix ->        2   3   4
                -5  -6   7
                 8   3   1