博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode] Minimum Path Sum
阅读量:4495 次
发布时间:2019-06-08

本文共 1434 字,大约阅读时间需要 4 分钟。

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.

思路:二维DP。 len[i][j] = min(len[i-1][j], len[i][j-1]) +grid[i][j];

 

1 public class Solution { 2     public int minPathSum(int[][] grid) { 3         if (grid == null || grid.length == 0 || grid[0].length == 0) 4             return 0; 5         int m = grid.length; 6         int n = grid[0].length; 7         int[][] len = new int[m][n]; 8  9         int i;10         int sum = 0;11         for (i = 0; i < m; i++) {12             sum += grid[i][0];13             len[i][0] = sum;14         }15         sum = 0;16         for (i = 0; i < n; i++) {17             sum += grid[0][i];18             len[0][i] = sum;19         }20         int j;21         for (i = 1; i < m; i++) {22             for (j = 1; j < n; j++) {23                 if (len[i][j] == 0) {24                     len[i][j] = (len[i - 1][j] < len[i][j - 1] ? len[i - 1][j]25                             : len[i][j - 1]) + grid[i][j];26                 }27 28             }29 30         }31 32         return len[m - 1][n - 1];33     }34 35     public static void main(String[] args) {36         int[][] grid = { { 1 } };37         System.out.println(new Solution().minPathSum(grid));38     }39 }
View Code

转载于:https://www.cnblogs.com/jdflyfly/p/3811045.html

你可能感兴趣的文章
C语言指针
查看>>
Java的安装
查看>>
Docker 安装及问题处理
查看>>
document
查看>>
Hadoop下大矩阵乘法Version2
查看>>
iPhone内存溢出——黑白苹果
查看>>
Struts2学习笔记(十二) 类型转换(Type Conversion)(下)
查看>>
tcpdump学习
查看>>
局域网内传输文件速度慢
查看>>
Linux的核心版本(摘抄)
查看>>
CASE表达式
查看>>
zkw线段树
查看>>
作业1226
查看>>
mainline.js主线
查看>>
fseek()
查看>>
Python学习笔记——PyQt控件中文字居中显示
查看>>
JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误
查看>>
Beta阶段敏捷冲刺前准备
查看>>
mini web框架-3-替换模板
查看>>
Siamese Network简介
查看>>