【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

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

【LeetCode】【Python】Minimum Path Sum

此题不难,可以用dfs来做,也可以用动态规划,但明显dfs性能不如dp。 Given a m x n grid filled with non-negative numbers, find ...

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...

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

【064-Minimum Path Sum(最小路径和)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a m x n grid filled with no...

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...

[LeetCode][Java] Minimum Path Sum

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

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

原题网址:https://leetcode.com/problems/minimum-path-sum/ Given a m x n grid filled with non-negativ...

Minimum Path Sum -- LeetCode

原题链接: http://oj.leetcode.com/problems/minimum-path-sum/  这道题跟Unique Paths,Unique Paths II是相同类型的...

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

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

常见的动态规划问题分析与求解

常见的动态规划问题分析与求解   动态规划(Dynamic Programming,简称DP),虽然抽象后进行求解的思路并不复杂,但具体的形式千差万别,找出问题的子结构以及通过子结构重新构造最优...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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