# 20150708 lintcode 总结 Minimum Path Sum

#### Easy Minimum Path Sum

34%
Accepted

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. You can only move either down or right at any point in time.

Time complexity: O(m*n); Space complexity: O(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) {
if (grid == null || grid.length == 0 || grid[0].length == 0) {
return 0;
}
int m = grid.length;
int n = grid[0].length;
int[][] temp = new int[m][n];

for(int i = 0; i<m ; i++){
for(int j = 0; j<n; j++){
if(i==0 && j==0){
temp[0][0] = grid[0][0];
}else if(i==0){
temp[0][j] = temp[0][j-1] + grid[i][j];
}else if(j==0){
temp[i][0] = temp[i-1][0] + grid[i][j];
}else{
temp[i][j] = Math.min(temp[i-1][j], temp[i][j-1]) + grid[i][j];
}
}
}

<span style="white-space:pre">	</span>return temp[m-1][n-1];
}
}


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 0;
}
int m = grid.length;
int n = grid[0].length;
int[] temp = new int[n];

for(int i = 0; i<m; i++){
for(int j = 0; j<n; j++){
if(i == 0 && j == 0 ){
temp[0] = grid[0][0];
}else if(i == 0 ){
temp[j] = temp[j-1] + grid[0][j];
}else if(j == 0 ){
temp[0] = temp[0] + grid[i][0];
}else{
temp[j] = Math.min(temp[j], temp[j-1]) + grid[i][j];
}
}
}
return temp[n-1];
}
}


• 本文已收录于以下专栏：

## leetcode 64. Minimum Path Sum-最小路径和|动态规划

• happyaaaaaaaaaaa
• 2016年05月31日 20:11
• 1872

## Minimum Path Sum -- LeetCode

• linhuanmars
• 2014年03月27日 07:04
• 8680

## 【LeetCode-面试算法经典-Java实现】【064-Minimum Path Sum（最小路径和）】

【064-Minimum Path Sum（最小路径和）】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题　　Given a m x n grid filled with no...
• DERRANTCM
• 2015年08月02日 06:05
• 2388

## LeetCode || Minimum Path Sum

Minimum Path Sum  Total Accepted: 19916 Total Submissions: 63796My Submissions Question  Solution ...
• 2014年10月19日 11:40
• 4291

## [LeetCode]64.Minimum Path Sum

【题目】 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom r...
• SunnyYoona
• 2015年02月04日 15:55
• 1711

## leetCode 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...
• xygy8860
• 2015年07月17日 16:25
• 928

## LeetCode 64 — Minimum Path Sum（C++ Java Python）

• dragon_dream
• 2014年02月26日 22:09
• 2469

## [Lintcode]Minimum Path Sum

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right whi...
• jc69186918
• 2016年02月22日 23:58
• 160

## 64 Minimum Path Sum

• ChilseaSai
• 2015年08月14日 15:42
• 427

## leetcode第一刷_Minimum Path Sum

• u012792219
• 2014年05月12日 12:31
• 1338

举报原因： 您举报文章：20150708 lintcode 总结 Minimum Path Sum 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)