1.题目
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
2.代码展示
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> vv(numRows);
for (int i=0; i<numRows; ++i)
{
vv[i].resize(i+1);
vv[i][0]=1;
vv[i][i]=1;
for (int j=1; j<i; ++j)
{
vv[i][j]=vv[i-1][j]+vv[i-1][j-1];
}
}
return vv;
}
};
3.解题思路
首先开辟一个二位数组,大小为numRows,将vv[i][j]和v[i][0]行置1,然后将每一层的数组大小开辟为i+1,然后通过加法得到相应位置的值。
可以看作是如下过程: