很简单的递推,但是写代码的过程中,犯了一个严重的错误,就是我用unsigned int型变量>= 0 作为循环条件(而且是降序)的时候,出现了问题。
附上代码:
1 class Solution {
2 public:
3 int minimumTotal(vector<vector<int> > &triangle) {
4 vector<int> tmp;
5 int flag = 0;
6 // 这里如果使用unsigned int则出现问题,切忌!
7 for (int i = triangle.size()-1; i >= 0; i--) {
8 if (0 == flag) {
9 for (unsigned j = 0; j < triangle[i].size(); j++) {
10 tmp.push_back(triangle[i][j]);
11 }
12 flag = 1;
13 } else {
14 for (unsigned j = 0; j < triangle[i].size(); j++) {
15 tmp[j] = min(tmp[j], tmp[j+1]) + triangle[i][j];
16 }
17 }
18 }
19
20 return tmp[0];
21 }
22 };
LeetCode---Triangle,布布扣,bubuko.com
原文:http://www.cnblogs.com/Stomach-ache/p/3704440.html