关闭

二维数组最小路径和(算法)

165人阅读 评论(0) 收藏 举报
分类:

给出一个二维m * n 矩阵grid ,含有非负整数。找出一条路径从最左上角到右下角,使之经过元素和最小。假定只能向右或向下移动。


int minPathSum(int [][] grid)
{
	int m = grid.length, n = grid[0].length;
	int [][] path = new int [m][n];
	path[0][0] = grid[0][0];
	for(int i = 1; i < m ; i++)
	{
		path[i][0] = path[i -1][0] + grid[i][0];
	}
	for(int j = 1; j < n; j ++)
	{
		path[0][j] = path[0][j -1 ] + grid[0][j];
	}
	for(int i = 1; i < m ; i++)
	{
		for(int j = 1; j < n; j++)
			path[i][j] = Math.min(path[i][j -1] + grid[i][j],path[i -1][j] + grid[i][j]);
	}
	return path[m - 1][n -1];
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23131次
    • 积分:1143
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:7篇
    • 译文:49篇
    • 评论:1条
    文章分类
    最新评论