【动态规划】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 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
  • 714

LeetCode || Minimum Path Sum

Minimum Path Sum  Total Accepted: 19916 Total Submissions: 63796My Submissions Question  Solution ...

【LeetCode】minimum-path-sum

题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right ...

LeetCode—Minimum Path Sum 二维数组最小路径,动态规划

感觉这是一系列的动态规划的算法,正好也将动态规划的算法进行一个总结: 算法一: 带权重的最小路径的问题 Given a m x n grid filled with non-negative...

动态规划--最小路径和(Minimum Path Sum)

原题   Given a m x n grid filled with non-negative numbers, find a path from top left to bottom rig...

leetcode[63] Minimum Path Sum 动态规划

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which...

LeetCode 64. Minimum Path Sum 动态规划

64. Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top lef...

动态规划——Minimum-sum descent(数塔问题)

题意: 给出一个数塔,求出从顶层到底层所经过的数字的最小(或者最大)和。 示例: 解决方案: 采用自底向上的动态规划方法,从最底层向上重构出新数塔,以最后一层为基础,从倒数第二层开始向上重新构造出...

hdu 2292 Minimum Heap 动态规划

原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2292 这个题原来第一次读我以为是数学解决,后来一直想不出来 听说是动态规划才想明白,由于这个题中只...

动态规划求RMQ(区间最值问题Range Minimum/Maximum Query)

RMQ(range minimum/maximum query)问题 给定一组数,给定给定一个区间,求区间最值,算法大致有以下几种 O(n)算法,直接扫描一遍区间,求最值. 优点:编...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【动态规划】minimum-path-sum
举报原因:
原因补充:

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