题目
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

在杨辉三角中,每个数是它左上方和右上方的数的和。
算法思想 :考察基本的循环,i表示行,j表示列,如果j==0 || j== i则为1,否则a[i][j] = a[i-1][j-1] + a[i-1][j];
vector<vector<int>> generate(int numRows) {
vector<vector<int> > a(numRows);
for(int i = 0;i < numRows;i++)
{
for(int j = 0;j <= i;j++)
{
if(j == 0 || j == i)
a[i].push_back(1);
else
a[i].push_back(a[i-1][j-1] + a[i-1][j]);
}
}
return a;
}
本文介绍了一个简单的算法,用于生成杨辉三角的前n行。通过使用二维数组进行存储,并利用循环来填充数组的方式,实现了杨辉三角的生成。具体而言,对于数组中的每一个元素,如果是位于每行的第一个或最后一个,则其值为1;否则,该元素等于其左上方和右上方两个元素之和。
464

被折叠的 条评论
为什么被折叠?



