首页 > 其他 > 详细

LeetCode | Minimum Path Sum

时间:2014-03-18 09:26:46      阅读:388      评论:0      收藏:0      [点我收藏+]

题目

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.

分析

这题按题目意思一步一步做就是了,属于不需要分析的动态规划了,如果可以修改grid内元素,是不需要额外空间的。

代码

public class MinimumPathSum {
	public int minPathSum(int[][] grid) {
		int M = grid.length;
		int N = grid[0].length;
		for (int j = 1; j < N; ++j) {
			grid[0][j] += grid[0][j - 1];
		}
		for (int i = 1; i < M; ++i) {
			grid[i][0] += grid[i - 1][0];
		}
		for (int i = 1; i < M; ++i) {
			for (int j = 1; j < N; ++j) {
				grid[i][j] += Math.min(grid[i - 1][j], grid[i][j - 1]);
			}
		}
		return grid[M - 1][N - 1];
	}
}


LeetCode | Minimum Path Sum,布布扣,bubuko.com

LeetCode | Minimum Path Sum

原文:http://blog.csdn.net/perfect8886/article/details/21413087

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!