Triangle leetcode
来源:互联网 发布:中金公司 知乎 编辑:程序博客网 时间:2024/06/08 11:16
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.
For example, given the following triangle
[ [2], [3,4], [6,5,7], [4,1,8,3]]
The minimum path sum from top to bottom is 11
(i.e., 2 + 3 + 5 + 1 = 11).
bottom up 自下往上的
public class Solution { public int minimumTotal(List<List<Integer>> triangle) { if (triangle == null || triangle.size() == 0) { return 0; } int n = triangle.size(); int[][] dp = new int[n][n]; for (int i = 0; i < n; i++) { dp[n - 1][i] = triangle.get(n-1).get(i); } for (int i = n - 2; i >= 0; i--) { for (int j = 0; j < triangle.get(i).size(); j++) { dp[i][j] = Math.min(dp[i + 1][j], dp[i + 1][j + 1]) + triangle.get(i).get(j); } } return dp[0][0]; }}
第二种方法, 从上往下
public class Solution { public int minimumTotal(List<List<Integer>> triangle) { if (triangle == null || triangle.size() == 0) { return 0; } int n = triangle.size(); int[][] dp = new int[n][n]; dp[0][0] = triangle.get(0).get(0); for (int i = 1; i < n; i++) { dp[i][0] = dp[i - 1][0] + triangle.get(i).get(0); dp[i][i] = dp[i - 1][i - 1] + triangle.get(i).get(i); } for (int i = 1; i < n; i++) { for (int j = 1; j < i; j++) { dp[i][j] = Math.min(dp[i - 1][j - 1], dp[i - 1][j]) + triangle.get(i).get(j); } } int min = dp[n - 1][0]; for (int i = 1; i < n; i++) { min = Math.min(min, dp[n - 1][i]); } return min; }}
0 0
- LeetCode : Triangle
- [LeetCode] Triangle
- [Leetcode] Triangle
- [LeetCode] Triangle
- 【leetcode】Triangle
- LeetCode - Triangle
- [LeetCode]Triangle
- [Leetcode]Triangle
- [leetcode]Triangle
- Leetcode: Triangle
- [LeetCode] Triangle
- LeetCode-Triangle
- [leetcode] Triangle
- [LeetCode] Triangle
- LeetCode - Triangle
- 【Leetcode】Triangle
- LeetCode | Triangle
- [leetcode]Triangle
- vijos1037搭建双塔(一维背包问题)
- 1026. 程序运行时间(15)
- web前端开发遇到问题记录
- 基于Yahoo网站性能优化的34条军规及自己的见解
- Sunshine’s city(lct+线段树)
- Triangle leetcode
- PHP爬取百度图片
- 2016.08.18【初中部 NOIP普及组 】模拟赛
- redis集群方案-一致性hash算法
- 指针数组和数组指针的区别
- CodeForces-691E Xor-sequences(矩阵快速幂)
- 第三方分享和登录时assets目录下ShareSDK.xml
- 【java】xml文件表建立及读取环境搭建并采用DOM4J完成XML文件导入到数据库
- js通过key-value取值