java 实现 给你一个 R 行 C 列的整数矩阵 A。矩阵上的路径从 00 开始在 R-1C-1 结束。路径沿四个基本方向上、下、左、右展开从一个已访问单元格移动到任一相邻的未访问单元格。路径的得分是该路径上的 最小 值。例如路径 8 → 4 → 5 → 9 的值为 4 。找出所有路径中得分 最高 的那条路径返回其 得分。
思路:动态规划
首先可以想到使用动态规划来解决这个问题。设 $dp[i][j]$ 表示从起点到 $(i,j)$ 的最小值。显然,$dp[0][0]=A[0][0]$,$dp[i][0]=\min(dp[i-1][0],A[i][0])$,$dp[0][j]=\min(dp[0][j-1],A[0][j])$。
对于其他位置 $(i,j)$,可以从上面或左边转移过来,即 $dp[i][j]=\min(dp[i-1][j],dp[i][j-1],A[i][j])$。
最终答案为 $dp[R-1][C-1]$。
代码实现:
原文地址: https://www.cveoy.top/t/topic/fJl5 著作权归作者所有。请勿转载和采集!