118.Pascals Triangle
118.Pascals Traingle
难度:Easy
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
1
输入: 5
2
输出:
3
[
4
[1],
5
[1,1],
6
[1,2,1],
7
[1,3,3,1],
8
[1,4,6,4,1]
9
]
Copied!
代码如下:
1
class Solution {
2
public:
3
vector<vector<int>> generate(int numRows) {
4
5
if(numRows<=tri.size())
6
{
7
vector<vector<int>> res;
8
for(int i=0;i<numRows;i++)
9
res.push_back(tri[i]);
10
return res;
11
}
12
int n=tri.size();
13
while(n<numRows)
14
{
15
vector<int> tmp;
16
tmp.push_back(tri[n-1][0]);
17
for(int i=1;i<n;i++)
18
tmp.push_back(tri[n-1][i]+tri[n-1][i-1]);
19
tmp.push_back(tri[n-1][n-1]);
20
tri.push_back(tmp);
21
n++;
22
}
23
return tri;
24
}
25
private:
26
vector<vector<int>>tri={ {1},{1,1} };
27
};
Copied!
Copy link