LeetCode 120: Triangle
来源:互联网 发布:深圳网络代运营公司 编辑:程序博客网 时间:2024/05/16 17:52
题目链接:
https://leetcode.com/problems/triangle/description/
描述
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.
输入
输入一个二维数组,输出最小和。
输出
最小和。
样例输入
[[2],[3,4],[6,5,7],[4,1,8,3]]样例输出
11算法思想:
动态规划。
源代码
class Solution {public: int minimumTotal(vector<vector<int>>& triangle) { int sz = triangle.size(), sum = 0; vector<int> vec; for (int i = 0; i < sz; i++) { for (int j = 0; j <= i; j++) { if (i > 0 && j > 0 && j != i) { triangle[i][j] += min(triangle[i - 1][j - 1], triangle[i - 1][j]); } if (i > 0 && j == 0) { triangle[i][j] += triangle[i - 1][j]; } if (i > 0 && j == i) { triangle[i][j] += triangle[i - 1][j - 1]; } } } int ans = 9999999; for (int i = 0; i < sz; i++) { if (ans > triangle[sz - 1][i]) ans = triangle[sz - 1][i]; } return ans; }};
阅读全文
0 0
- Leetcode 120 Triangle
- LeetCode 120: Triangle
- LeetCode(120)Triangle
- LeetCode: Triangle [120]
- LeetCode 120 Triangle
- LeetCode 120 Triangle
- [leetcode 120] Triangle
- [Leetcode 120, Medium] Triangle
- leetcode || 120、Triangle
- Triangle - LeetCode 120
- Leetcode[120]-Triangle
- LeetCode(120) Triangle
- Leetcode #120 Triangle
- [leetcode-120]Triangle(c++)
- leetcode 120: Triangle
- 【LeetCode】(120)Triangle (Medium)
- [leetcode] 120 Triangle
- LeetCode 120: Triangle
- ural1297最长回文串
- appium+python自动化实践之查找元素的等待方式
- UVa1626
- 三位数的各位数字之和
- 51nod 1418 放球游戏
- LeetCode 120: Triangle
- 服务端指南 数据存储篇 | MySQL(08) 分库与分表设计(转)
- innosetup打包程序脚本
- js传递数组到后台
- 常用连接池
- 剑指offer 二维数组中的查找
- Ctrl+c,Ctrl+d,Ctrl+z在Linux中意义
- 工厂模式之数据库、视图引擎
- [DP] BZOJ4321. queue2