首页 > 代码库 > LeetCode---Triangle

LeetCode---Triangle

题目链接

很简单的递推,但是写代码的过程中,犯了一个严重的错误,就是我用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 };