64. Minimum Path Sum

题目:

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.

 

Hide Tags
 Array Dynamic Programming
 

链接: http://leetcode.com/problems/minimum-path-sum/

5/20/2017

注意第7,9,12行

 1 public class Solution {
 2     public int minPathSum(int[][] grid) {
 3         if (grid == null || grid.length == 0 || grid[0].length == 0) {
 4             return 0;
 5         }
 6         int[] path = new int[grid[0].length];
 7         path[0] = grid[0][0];
 8         for (int i = 1; i < grid[0].length; i++) {
 9             path[i] = grid[0][i] + path[i - 1];
10         }
11         for (int i = 1; i < grid.length; i++) {
12             path[0] = path[0] + grid[i][0];
13             for (int j = 1; j < grid[i].length; j++) {
14                 path[j] = Math.min(path[j - 1], path[j]) + grid[i][j];
15             }
16         }
17         return path[grid[0].length - 1];
18     }
19 }

 

posted @ 2017-05-21 07:22  panini  阅读(99)  评论(0编辑  收藏  举报