public class Solution {     public int  min(int a,int b){ return ((a)<(b)?(a):(b)); }     public int minPathSum(int[][] grid) {     int i,j,m,n;       int [][] dp = new int[100][100];     n = grid.length;     m = grid[0].length;     dp[0][0]=grid[0][0];       for(i = 1;i<m;i++){     dp[0][i] = dp[0][i-1]+grid[0][i];//横      }     for(j = 1;j<n;j++){     dp[j][0] = dp[j-1][0]+grid[j][0];//纵      }          for(i=1;i<n;i++)           for(j=1;j<m;j++){  //中间部分的计算              dp[i][j] = min(dp[i-1][j]+grid[i][j],dp[i][j-1]+grid[i][j]);           }             return dp[n-1][m-1];         } }
点赞 5

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务