【动态规划】minimum-path-sum

原创 2016年05月30日 19:28:11

题目描述:

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.


我的代码:

public class Solution {
	/**
	 * 从二维数组的左上角到右下角的最短路径--动态规划
	 * @param grid 二维数组
	 * @return 返回最短路径
	 */
    public int minPathSum(int[][] grid) {
    	//获取二维数组的m和n,其中m是行数,n是列数
        int m = grid.length;
		int n = grid[0].length;
		
		//定义一个数组,用来存储到每个点的最短路径
		int[][] dp = new int[m][n];
		
		//如果是到达第一行的某个点,没有其他走法,只能横着走
		int sum = 0;
		for(int i = 0;i<n;i++){
			sum+=grid[0][i];
			dp[0][i] = sum;
		}
		
        sum = 0;
        //如果是到达第一列的某个点,没有其他走法,只能竖着走
		for(int i = 0;i<m;i++){
			sum+=grid[i][0];
			dp[i][0] = sum;
		}
		
		//动态规划求到某个点的最短路径
		for(int i = 1;i<m;i++){
			for(int j = 1;j<n;j++){
				dp[i][j] = Math.min(dp[i-1][j], dp[i][j-1]) + grid[i][j];
			}
		}
		//返回到右下角的最短路径
		return dp[m-1][n-1];
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode || Minimum Path Sum

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

LeetCode 64. Minimum Path Sum(最小路径和)

原题网址:https://leetcode.com/problems/minimum-path-sum/ Given a m x n grid filled with non-negativ...
  • jmspan
  • jmspan
  • 2016年05月21日 11:59
  • 749

【动态规划】minimum-path-sum

题目描述: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom righ...
  • u012351768
  • u012351768
  • 2016年05月30日 19:28
  • 347

Minimum Path Sum -- LeetCode

原题链接: http://oj.leetcode.com/problems/minimum-path-sum/  这道题跟Unique Paths,Unique Paths II是相同类型的...
  • linhuanmars
  • linhuanmars
  • 2014年03月27日 07:04
  • 8677

动态规划——minimum-path-sum

题目描述 一个 m x n 的矩阵填充着非负整数,找到从左上角到右下角和最小的路径。 注:每一步只能向下一格走或向右一格走。import java.util.*; public class So...
  • jingsuwen1
  • jingsuwen1
  • 2016年05月23日 16:08
  • 169

minimum-path-sum

容易 最小路径和 34% 通过 给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。 您在真实的面试中是...
  • poiop221
  • poiop221
  • 2015年07月07日 10:00
  • 161

LeetCode 64 — Minimum Path Sum(C++ Java Python)

题目:http://oj.leetcode.com/problems/minimum-path-sum/ Given a m x n grid filled with non-negative num...
  • dragon_dream
  • dragon_dream
  • 2014年02月26日 22:09
  • 2469

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

原题链接:64. Minimum Path Sum 【思路】 采用动态规划。动态规划要求利用到上一次的结果,是一种特殊的迭代思想,动态规划的关键是要得到递推关系式。对于本题,从原点到达(i, j)的最...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2016年05月31日 20:11
  • 1865

【LeetCode】minimum-path-sum

题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right ...
  • tiewadhd
  • tiewadhd
  • 2016年09月02日 21:09
  • 121

lintcode minimum-path-sum 最小路径和

问题描述lintcode笔记代码
  • waltonhuang
  • waltonhuang
  • 2016年07月26日 15:35
  • 229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【动态规划】minimum-path-sum
举报原因:
原因补充:

(最多只允许输入30个字)