您的位置:首页 > 其它

LeetCode 63 Minimum Path Sum

2014-09-01 21:18 253 查看
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.

Note: You can only move either down or right at any point in time.

思路 :求grid[0][0]到grid[i][j]的最小和,就必须得出以下公式



public class Solution {
    public int minPathSum(int[][] grid) {
    	int i,j,min;
    	
    	for(i=1;i<grid.length;i++){
    		grid[i][0]+=grid[i-1][0];
    	}
    	for(i=1;i<grid[0].length;i++){
    		grid[0][i]+=grid[0][i-1];
    	}
    	
        for(i=1;i<grid.length;i++){
        	for(j=1;j<grid[0].length;j++){
        		min=grid[i-1][j]<grid[i][j-1]?grid[i-1][j]:grid[i][j-1];
        		grid[i][j]+=min;
        	}
        }
        return grid[grid.length-1][grid[0].length-1];
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: