LintCode-最小路径和

来源:互联网 发布:机器人编程招聘 编辑:程序博客网 时间:2024/04/28 18:52

最小路径和

给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。

样例
注意
你在同一时间只能向下或者向右移动一步

public class Solution {    /**     * @param grid: a list of lists of integers.     * @return: An integer, minimizes the sum of all numbers along its path     */    public int minPathSum(int[][] grid) {        int n = grid.length;        int m = grid[0].length;        int a=0,b=0;        for( a =0; a<n; a++){            for( b=0; b<m; b++){                if(a==0){                    grid[0][b]+=b>0?grid[0][b-1]:0;                }                if(b==0&&a!=0){                    grid[0][b]+= grid[a][b];                }else{                    if(a!=0)                        grid[0][b]=grid[a][b]+(grid[0][b]>grid[0][b-1]?grid[0][b-1]:grid[0][b]);                }            }        }        return grid[0][m-1];     }}
0 0
原创粉丝点击