64 Minimum Path Sum

来源:互联网 发布:面纱3.0完美数据 编辑:程序博客网 时间:2024/05/22 15:28

题意:给出一个mxn的非负二维数组,求从左上方到右下方所有路径中最小的和。

分析:动态规划。dp[i][j]+=max(dp[i][j+1j],dp[i+1][j])

代码:

int minPathSum(int **grid, int nRows, int nCols) {    for(int i=nRows-2;i>=0;--i){        grid[i][nCols-1]+=grid[i+1][nCols-1];    }    for(int i=nCols-2;i>=0;--i){        grid[nRows-1][i]+=grid[nRows-1][i+1];    }    for(int i=nRows-2;i>=0;--i){        for(int j=nCols-2;j>=0;--j){            grid[i][j]+=(grid[i][j+1]<grid[i+1][j]?grid[i][j+1]:grid[i+1][j]);        }    }    return grid[0][0];}


0 0
原创粉丝点击