class Solution {
public:
int minimumTotal(vector<vector<int> > &triangle) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
minPath = INT_MAX;
if (triangle.size() == 0) return 0;
run(triangle, 0, 0, 0);
return minPath;
}
void run(vector<vector<int> > &triangle, int level, int idx, int curSum)
{
if (level == triangle.size())
{
minPath = min(minPath, curSum);
return;
}
run(triangle, level + 1, idx, curSum + triangle[level][idx]);
run(triangle, level + 1, idx + 1, curSum + triangle[level][idx]);
}
private:
int minPath;
};
[Leetcode] Triangle
最新推荐文章于 2020-05-23 10:06:18 发布