杨辉三角,是二项式系数在三角形中的一种几何排列。它是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。
首先我们创建一个vector<vector<int>>类型的变量,然后为其分配空间。由于杨辉三角的性质三角形两侧的数为1,那为了方便实现目的我们可以在创建三角形之后为其两侧赋值为1,其余地方为0.
由于在杨辉三角中每个数字等于上一行的左右两个数字之和,可用此性质写出整个杨辉三角。即第 n 行的第 i 个数等于第 n−1 行的第 i−1 个数和第 i 个数之和。我们便可以推出数学表达式。
vect[i][j]=vect[i-1][j-1]+vect[i-1][j];
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> vect(numRows);
for(int i=0;i<numRows;i++)
{
vect[i].resize(i+1);
vect[i][0]=vect[i][i]=1;
}
for(int i=2;i<numRows;i++)
{
for(int j=1;j<i;j++)
{
vect[i][j]=vect[i-1][j-1]+vect[i-1][j];
}
}
return vect;
}
};