[week 7][Leetcode][Dynamic Programming]Triangle
来源:互联网 发布:vb select语句 编辑:程序博客网 时间:2024/05/22 16:12
- Question:
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.
- Analysis:
这是关于动态规划的题,求最短路径问题。有两种解题思路:
- 自上而下:也就是下一行的结果根据上一行的路径累计的结果来计算,由此得到状态转移方程为:triangle[i][j] += min(triangle[i-1][j],triangle[i-1][j+1])。这种从最顶端开始考虑的方法,需要另外讨论第一行和最后一行的结果。
- 自下而上:也就是这一行的结果根据下一行的路径累计结果来进行计算,由此可以得到状态转移方程为:triangle[i][j] += min(triangle[i+1][j],triangle[i+1][j+1]).这种方法不用单独考虑第一行和最后一行的结果,如下代码是采用的第二种方法。
- Code:
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++) { triangle[i][j] += min(triangle[i+1][j],triangle[i+1][j+1]); } } return triangle[0][0]; }};
阅读全文
0 0
- [week 7][Leetcode][Dynamic Programming]Triangle
- [week 8][Leetcode][Dynamic Programming] Maximum Subarray
- [week 10][Leetcode][Dynamic Programming] Climbing Stairs
- [week 11][Leetcode][Dynamic Programming] House Robber
- [week 12][Leetcode][Dynamic Programming] Unique Paths
- Triangle: Dynamic Programming解法
- leetCode刷题归纳-Dynamic Programming(120. Triangle)
- (M)Dynamic Programming:120. Triangle
- [week 9][Leetcode][Dynamic Programming] Best Time to Buy and Sell Stock
- leetcode dynamic programming
- LeetCode:Dynamic Programming
- LeetCode Summary Dynamic Programming
- LeetCode--Dynamic Programming
- [Leetcode]Dynamic Programming-note
- [Leetcode]Dynamic Programming
- [Leetcode]Dynamic Programming
- [Leetcode]Dynamic Programming
- [Leetcode]Dynamic Programming
- 【Redis】状态与性能监控命令
- 在webapp上使用input:file, 指定capture属性调用默许相机,摄像,录音功能
- 查询tomcat日志(二)
- python selenium xpath定位方式
- PullToRefreshListView 局部刷新问题
- [week 7][Leetcode][Dynamic Programming]Triangle
- Android 主流框架大全
- lock
- RE模块
- Tomcat出现 java.net.ConnectException: Connection refused 异常的原因及解决方法
- 如何保证HDFS中的数据一致性?
- android studio layout文件白屏问题
- 关于android studio rename module 那点坑
- 空指针NULL 与 void指针 要分清