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]
重复上述过程即可。
原文链接http://blog.youkuaiyun.com/crazy__chen/article/details/46494431