LeetCode 120. Triangle
2017-02-24 20:18
363 查看
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
The minimum path sum from top to bottom is
11).
answer:
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
int result[triangle.size() + 1] = {0};
for(int i = triangle.size() - 1; i >= 0; i --){
for(int j = 0; j < triangle[i].size(); j ++)
result[j] = min(result[j],result[j + 1]) + triangle[i][j];
}
return result[0];
}
void myMin(vector<vector<int>> & triangle,int m, int n, int sum, int & min){
if(m == triangle.size()){
if(sum < min)
min = sum;
return;
}
if(m > triangle.size() || n >= triangle[m].size()) return;
sum += triangle[m]
;
myMin(triangle,m + 1, n ,sum,min);
myMin(triangle,m + 1, n + 1,sum,min);
}
};
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).
answer:
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
int result[triangle.size() + 1] = {0};
for(int i = triangle.size() - 1; i >= 0; i --){
for(int j = 0; j < triangle[i].size(); j ++)
result[j] = min(result[j],result[j + 1]) + triangle[i][j];
}
return result[0];
}
void myMin(vector<vector<int>> & triangle,int m, int n, int sum, int & min){
if(m == triangle.size()){
if(sum < min)
min = sum;
return;
}
if(m > triangle.size() || n >= triangle[m].size()) return;
sum += triangle[m]
;
myMin(triangle,m + 1, n ,sum,min);
myMin(triangle,m + 1, n + 1,sum,min);
}
};
相关文章推荐
- LeetCode120. Triangle
- 【LeetCode】120. Triangle 基于C++和Java的分析及解法,动态规划
- leetcode题解-120. Triangle
- LeetCode *** 120. Triangle
- LeetCode 120. Triangle (Python)最优解--Apolo_Shane
- 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
- (DP)LeetCode#120. Triangle
- Leetcode 120. Triangle (Medium) (cpp)
- 【LeetCode】120. Triangle (3 solutions)
- leetcode 120. Triangle
- leetcode-120. Triangle