LeetCode Triangle
来源:互联网 发布:gta5没网络怎么玩单机 编辑:程序博客网 时间:2024/06/10 20:11
原题链接在这里:https://leetcode.com/problems/triangle/
从底往上动态规划,维护一个res数组,res里的每一个元素都是从底走到这一点的最小值,更新方式是取res在下一行与自己临近的两个元素的最小值加上triangle在这点本身的元素。
最后返回res[0]即可。
Note: 若triangle 只包含一行也考虑到了,因为若只有一行,res会先初始化成最后一行,也就是唯一的一行。
在检查i = triangle.size()-2 = -1是否比0大时不满足,所以skip 第二个 for loop直接返回res[0].
AC Java:
public class Solution { public int minimumTotal(List<List<Integer>> triangle) { if(triangle == null || triangle.size() == 0 || triangle.get(0).size() == 0){ return 0; } int[] res = new int[triangle.size()]; //初始化res为triangle最后一行元素挨个赋值 for(int i = 0; i < triangle.size(); i++){ res[i] = triangle.get(triangle.size()-1).get(i); } //从triangle倒数第二行开始更新res for(int i = triangle.size()-2; i>=0; i--){ for(int j = 0; j<triangle.get(i).size();j++){ res[j] = Math.min(res[j],res[j+1])+triangle.get(i).get(j); } } return res[0]; }}
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
- 八大排序算法
- 【小熊刷题】3Sum Closest <Leetcode 16, Java>
- Leet Code Medium 18 4Sum
- Leet Code 19 Remove Nth Node From End of List
- 常见安卓主题显示
- LeetCode Triangle
- Leet Code 20 Valid Parentheses
- 【工作感悟】——聊聊面试那些事
- 【小熊刷题】Letter Combinations of a Phone Number <Leetcode 17, Java>
- extern 与 define 区别
- 【小熊刷题】Remove Nth Node From End of List <Leetcode 19, Java>
- Ember.js 入门指南——handlebars基础
- combination sum II
- Leetcode: Count Univalue Subtrees