注册网站英语,网站页面建设需要ps吗,电商平台软件开发公司,网站建设前给定一个包含非负整数的 m x n 网格#xff0c;请找出一条从左上角到右下角的路径#xff0c;使得路径上的数字总和为最小。
说明#xff1a;每次只能向下或者向右移动一步。
示例:
输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总…给定一个包含非负整数的 m x n 网格请找出一条从左上角到右下角的路径使得路径上的数字总和为最小。
说明每次只能向下或者向右移动一步。
示例:
输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。
提交的代码class Solution { public int minPathSum(int[][] grid) { int i,j; int m grid.length; int n grid[0].length; int[][] dp new int[m][n]; dp[0][0] grid[0][0]; for(i0;im;i) { for(j0;jn;j) { if(i0j0) { dp[i][j]dp[i][j-1]grid[i][j]; } if(j0i0) { dp[i][j]dp[i-1][j]grid[i][j]; } if(i!0j!0) { dp[i][j]java.lang.Math.min(dp[i-1][j], dp[i][j-1])grid[i][j]; } } } return dp[m-1][n-1]; } } 完整代码 public class Solution64 { public static int minPathSum(int[][] grid) { int i,j; int m grid.length; int n grid[0].length; int[][] dp new int[m][n]; dp[0][0] grid[0][0]; for(i0;im;i) { for(j0;jn;j) { if(i0j0) { dp[i][j]dp[i][j-1]grid[i][j]; } if(j0i0) { dp[i][j]dp[i-1][j]grid[i][j]; } if(i!0j!0) { dp[i][j]java.lang.Math.min(dp[i-1][j], dp[i][j-1])grid[i][j]; } } } return dp[m-1][n-1]; } public static void main(String[] args) { int[][] a {{1,3,1},{1,5,1},{4,2,1}}; System.out.println(minPathSum(a)); } }