LeetCode 120. Triangle
来源:互联网 发布:python 冒泡排序 编辑:程序博客网 时间:2024/05/16 23:44
LeetCode 120. Triangle
问题
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, where n is the total number of rows in the triangle.
分析
我们可以把数值看做路径的长度。
这是一个最短路径问题,DP算法足矣。
但要注意,如果自上而下进行运算会使运算路径发散,从而超时。所以我们采用自下而上的方式。
具体代码实现如下:
class Solution { public: int minimumTotal(vector<vector<int>>& triangle) { while (!triangle.empty()) { int v_index = triangle.size() - 1; if (v_index == 0)break; for (int num_index = 0; num_index < triangle[v_index].size() - 1; num_index++) { triangle[v_index - 1][num_index] += min(triangle[v_index][num_index] , triangle[v_index][num_index+1]); } triangle.pop_back(); } return triangle[0][0]; }};
阅读全文
0 0
- LeetCode 120. Triangle
- [LeetCode]120.Triangle
- [Leetcode] 120. Triangle
- [leetcode] 120.Triangle
- Leetcode 120. Triangle
- <LeetCode OJ> 120. Triangle
- 120. Triangle LeetCode
- leetcode 120. Triangle
- leetcode-120. Triangle
- LeetCode#120. Triangle
- LeetCode 120. Triangle
- [LeetCode]120. Triangle
- LeetCode *** 120. Triangle
- LeetCode-120.Triangle
- [leetcode] 120. Triangle
- [leetcode]120. Triangle
- LeetCode - 120. Triangle
- Leetcode题解 120. Triangle
- javascript中递归函数
- bzoj1211 [HNOI2004]树的计数 prufer序列+组合数
- Java设计模式之外观模式
- 使用Bootstrap tab切换引入echarts图表。第一个tab显示正常,
- tensorflow_1 小试牛刀
- LeetCode 120. Triangle
- 对Center loss的理解
- 浏览端渲染性能相关(转自google开发者中心)
- 清除Css中select的下拉箭头样式
- PIX飞行模式
- 产品运营与活动策划
- Django 处理处理表单
- 丑数 和 超级丑数
- 读书笔记——《深入理解Java虚拟机》系列之垃圾收集器与GC日志分析