开始刷题 leetcode day39:Minimum Path Sum
2015-06-12 13:01
507 查看
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.
Java:
public class Solution {
public int minPathSum(int[][] grid) {
if(grid.length==0) return 0;
int row = grid.length;
int col = grid[0].length;
int[][] min = new int[row][col];
min[0][0] = grid[0][0];
for(int i=1; i<row; i++)
{
min[i][0] = grid[i][0] + min[i-1][0];
}
for(int j=1;j<col;j++)
{
min[0][j] =grid[0][j] + min[0][j-1];
}
for(int i=1; i<row; i++)
{
for(int j=1; j<col; j++)
{
min[i][j] = grid[i][j] + Math.min(min[i][j-1], min[i-1][j]);
}
}
return min[row-1][col-1];
}
}
Note: You can only move either down or right at any point in time.
Java:
public class Solution {
public int minPathSum(int[][] grid) {
if(grid.length==0) return 0;
int row = grid.length;
int col = grid[0].length;
int[][] min = new int[row][col];
min[0][0] = grid[0][0];
for(int i=1; i<row; i++)
{
min[i][0] = grid[i][0] + min[i-1][0];
}
for(int j=1;j<col;j++)
{
min[0][j] =grid[0][j] + min[0][j-1];
}
for(int i=1; i<row; i++)
{
for(int j=1; j<col; j++)
{
min[i][j] = grid[i][j] + Math.min(min[i][j-1], min[i-1][j]);
}
}
return min[row-1][col-1];
}
}
相关文章推荐
- 【深度探索C++对象模型读书笔记】【第5章】构造、析构、拷贝语意学
- 看一个应用是否属于轻量级还是重量级
- python for android environment on ubuntu vivid
- arduino小车入门教学——第三天(arduino基础)
- git 入门
- LeetCode 9 Palindrome Number
- 堆和栈的区别
- [扩展欧几里得定理]青蛙的约会
- Quartz 入门例子
- javax.faces.view.facelets.ResourceResolver
- bzoj 1015: [JSOI2008]星球大战starwar 并查集
- SA读书笔记1
- cxgrid全选
- IOS菜鸟的所感所思(十一)——统计文本中单词出现的次数并按照次数高低排序
- 在Gridview如何进行每行单元格比较
- openwrt上使用openssl对文件加密
- POJ-2774
- 一张图让你理清渗透思路
- 配置php和apache结合,测试php
- 仿iOS图标抖动