1. 程式人生 > >LintCode 110---最小路徑和

LintCode 110---最小路徑和

long numbers ram pub public div spa sts nim

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) {
       if(grid == null || grid.length == 0 || grid[0].length == 0)
         return -1;

    
int[][] f = new int[grid.length][grid[0].length]; f[0][0] = grid[0][0]; for(int i = 1; i < grid.length; i++){ f[i][0] = f[i-1][0] + grid[i][0]; } for(int i = 1; i < grid[0].length; i++){ f[0][i] = f[0][i-1] + grid[0][i]; } for(int i = 1; i < grid.length; i++){
for(int j = 1; j < grid[0].length; j++){ f[i][j] = Math.min(f[i][j-1],f[i-1][j]) + grid[i][j]; } } return f[grid.length-1][grid[0].length-1]; } }

LintCode 110---最小路徑和