链接:118. 杨辉三角
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> ret(numRows);
for (int i = 0; i < numRows; ++i) {
ret[i].resize(i + 1);
ret[i][0] = ret[i][i] = 1;
for (int j = 1; j < i; ++j) {
ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];
}
}
return ret;
}
};
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> result(numRows);
if(numRows <= 0) {
// RVO
return result;
}
for(int i = 1; i <= numRows; ++i) {
vector<int> ceng;
ceng.resize(i);
ceng[0] = 1;
ceng[i-1] = 1;
if(i == 1 || i == 2) {
result[i-1] = ceng;
continue;
}
for(int j = 1; j < i-1; ++j) {
ceng[j] = result[i-2][j-1] + result[i-2][j];
}
result[i-1] = std::move(ceng);
}
// RVO
return result;
}
};