leetcode--Triangle
来源:互联网 发布:淘宝2017销售额下滑 编辑:程序博客网 时间:2024/05/16 17:05
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).
Note:
Bonus point if you are able to do this using only O(n) extra space, wheren is the total number of rows in the triangle.
题意:给定一个三角形,找到从顶到底的最小路径。每次你都只能向下移动。
分类:动态规划,数组
解法1:动态规划。从底向上,对于每个元素,有左右两个选择,我们选择一个小的,更新自己的值就可以了。
重复执行一直到顶部。
例如图中,对于{6,5,7}这一行,
对于6而言,选择1会使路径比较小,
对于5而言,选择1会使路径比较小,
对于7而言,选择3会使路径比较小
那么我们就更新这一层,使这一层变成{7,6,10}
那么现在三角形就是
[2]
[3,4]
[7,6,10]
重复上述过程即可。
public class Solution { public int minimumTotal(List<List<Integer>> triangle) { int size = triangle.size();while(size>1){List<Integer> last = triangle.remove(size-1);//当前层size--;List<Integer> pre = triangle.get(size-1);//上一层int i = last.size()-1;while(i>0){//遍历当前层pre.set(i-1, pre.get(i-1)+Math.min(last.get(i),last.get(i-1)));//更新上一层i--;}}return triangle.get(0).get(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
- java 学习 —— AWT布局组件
- 分享一个连接
- c++ 头文件<cwchar>中常见函数的实现!!!
- 不要停止学习
- 基于双链表 实现Java Queue队列
- leetcode--Triangle
- c语言中realloc()函数解析
- 自定义Android的Dialog
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
- Android:ViewGroup事件分发机制
- [ATL/WTL]_[初级]_[常用的界面对象操作]
- ioctl函数理解
- ViewStub的实战开发
- 数据库设计三大范式