leetcode--Triangle
来源:互联网 发布:apache 压力测试工具 编辑:程序博客网 时间:2024/06/04 00:15
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.
思路:从下到上,选择相邻中较小者与上一层相加,不断更新。假若要求不改变源数据则如第二种方法,将最下层存储到另一数组中
class Solution {public: int minimumTotal(vector<vector<int> > &triangle) { for (int i = triangle.size() - 2; i >= 0; --i) for (int j = 0; j < i + 1; ++j){ if(triangle[i+1][j] > triangle[i+1][j+1]){ triangle[i][j] += triangle[i+1][j+1]; }else{ triangle[i][j] += triangle[i+1][j]; } } return triangle[0][0]; }};class Solution {public: int minimumTotal(vector<vector<int> > &triangle) { int n = triangle.size(); vector<int> dp; dp=triangle.back(); for (int i = n - 2; i >= 0; --i) { for (int j = 0; j <= i; ++j) { dp[j] = min(dp[j], dp[j + 1]) + triangle[i][j]; } } return dp[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
- leetcode--Unique Binary Search Trees
- 注:Python中Scrapy爬虫框架的安装和pywin32安装的问题(py 3.x版本)
- 189. Rotate Array 旋转数组
- 使用scala实现Akka底层的rpc通信
- javascript中this 的指向问题(二)
- leetcode--Triangle
- commons-fileupload实现文件上传
- 523. Continuous Subarray Sum
- wprintf或_tprintf不显示问题
- NORMFACE:L2 hypersphere embedding for face Verification
- 【Java】synchronized
- BZOJ4802: 欧拉函数 pollard_pho
- leetcode--Perfect Squares
- C++11新标准 博客目录