leetcode(64)最小路径和
Posted erdanyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode(64)最小路径和相关的知识,希望对你有一定的参考价值。
最小路径和
解题思路:动态规划+自底向上
在这里其实没必要做空间复杂度的处理,因为没有用多余的空间,所以完全可以用m*n的循环方式
class Solution public int minPathSum(int[][] grid) int xlen = grid.length; int ylen = grid[0].length; int min = Math.min(xlen,ylen); int max = Math.max(xlen,ylen); if(min==xlen) for(int i=1;i<xlen+ylen-1;++i) for(int j=0;j<min;++j) if(i-j>=0&&i-j<max) if(j==0) grid[j][i-j] += grid[j][i-j-1]; else if(i-j==0) grid[j][i-j] += grid[j-1][i-j]; else grid[j][i-j] += Math.min(grid[j][i-j-1],grid[j-1][i-j]); else for(int i=1;i<xlen+ylen-1;++i) for(int j=0;j<min;++j) if(i-j>=0&&i-j<max) if(j==0) grid[i-j][j] += grid[i-j-1][j]; else if(i-j==0) grid[i-j][j] += grid[i-j][j-1]; else grid[i-j][j] += Math.min(grid[i-j][j-1],grid[i-j-1][j]); return grid[xlen-1][ylen-1];
以上是关于leetcode(64)最小路径和的主要内容,如果未能解决你的问题,请参考以下文章