For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
class Solution {
public:
vector<vector<int> > generate(int numRows) {
vector<vector<int>>res;
for(int i=0;i<numRows;i++)
{
vector<int>temp(i+1,1);
for(int j=1;j<i;j++)
{
temp[j]=res[i-1][j]+res[i-1][j-1];
}
res.push_back(temp);
}
return res;
}
};
思路如下:
1、首先初始化每一组数组的大小,并让其初值均为1,
2、接着每一组中间的值(不包括首尾,首尾均是1不用改变)用上一组的值依次求和;
3、将每一组的值放到vector里
4、最后返回;
本文介绍了一种使用C++实现帕斯卡三角形的方法。通过迭代方式,生成指定行数的帕斯卡三角形,每行元素由上一行对应位置的两元素之和构成,适用于算法理解和学习。
681

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



