题目:
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
思路:
1.确定行的第一列和最后一列为1
2.其他列为上一列的 j 和 j-1 的元素值相加
3.需要根据不同行的个数resize不同的向量
代码:
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> ans (numRows);
for(int i=0;i<numRows;i++){
ans[i].resize(i+1);
ans[i][0]=ans[i][i]=1;
for(int j=1;j<i;j++)
ans[i][j]=ans[i-1][j-1]+ans[i-1][j];
}
return ans;
}
};
收获:
对向量指定容量申请可以使用resize()
本文介绍了一种生成杨辉三角的算法实现,该算法通过利用向量动态调整大小的功能,生成给定行数的杨辉三角。具体步骤包括初始化每行的首尾为1,并通过累加方式填充中间元素。
281

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



