题目:
给定一个非负整数 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()