[LeetCode]120. Triangle
2016-12-18 19:02
316 查看
https://leetcode.com/problems/triangle/
找到三角中从上到下和最小
DP,从底往上,DP保存当前遍历行中当前位置到底部的最小和。
本题不应不会,显然DP。DP两种可能:从上到下 和 从下到上。又因本题必然要遍历所有元素。因此从下到上+依次遍历可得解。
public class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int[] dp = new int[triangle.size() + 1];
for (int i = triangle.size() - 1; i >= 0; i--) {
for (int j = 0; j < triangle.get(i).size(); j++) {
dp[j] = triangle.get(i).get(j) + Math.min(dp[j], dp[j + 1]);
}
}
return dp[0];
}
}
找到三角中从上到下和最小
DP,从底往上,DP保存当前遍历行中当前位置到底部的最小和。
本题不应不会,显然DP。DP两种可能:从上到下 和 从下到上。又因本题必然要遍历所有元素。因此从下到上+依次遍历可得解。
public class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
int[] dp = new int[triangle.size() + 1];
for (int i = triangle.size() - 1; i >= 0; i--) {
for (int j = 0; j < triangle.get(i).size(); j++) {
dp[j] = triangle.get(i).get(j) + Math.min(dp[j], dp[j + 1]);
}
}
return dp[0];
}
}
相关文章推荐
- LeetCode 120. Triangle
- 【LeetCode】120. Triangle (3 solutions)
- leetcode 120. Triangle
- leetcode120. Triangle
- LeetCode120. Triangle
- 【LeetCode】120. Triangle 基于C++和Java的分析及解法,动态规划
- LeetCode 120. Triangle
- Leetcode-120. Triangle
- [leetcode]120. Triangle
- leetcode题解-120. Triangle
- LeetCode *** 120. Triangle
- LeetCode 120. Triangle (Python)最优解--Apolo_Shane
- Leetcode 120. Triangle
- [leetcode] 120. Triangle
- [leetcode]120. Triangle
- 第十四周:[leetCode] 120. Triangle
- LeetCode 120. Triangle
- 【LeetCode】120. Triangle
- [LeetCode] 120. Triangle
- [Leetcode] 120. Triangle