1、数学
考虑到杨辉三角的数学规律,我们可以直接对二维数组进行操作获得最终的杨辉三角。我们重现对每一个数组规定大小,并依据上一个数组中对应位置的元素之和进行赋值即可。
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;
}
};