杨辉三角形(118)
118. 杨辉三角 - 力扣(LeetCode)
class Solution {
public:
vector<vector<int>> generate(int numRows)
{
vector<vector<int>> res (numRows, {1});
if (numRows == 1) {
return res;
}
for (int i = 1; i < numRows; ++i) {
auto & pre_vec = res[i-1];
auto & vec = res[i];
vec.resize(i + 1, 1);
//只计算[1, i-1]中间的值
for (int j = 1; j < i; ++j) {
vec[j] = pre_vec[j-1] + pre_vec[j];
}
}
return res;
}
};
总结:
时间复杂度O(n2),空间复杂度O(n2),注意vector的初始化构造函数,和resize,让代码简洁。