题目链接:118. 杨辉三角

题解:

简单的杨辉三角!

题目简述:

给定一个数,生成杨辉三角的那几行!

题解:

递推:

  • 对于每一行第一个和最后一个都是1,即!j || j == i
  • 其他数字,都等于该数正上方和左上方的和,即res[i - 1][j - 1] + res[i - 1][j]

时间复杂度O(n^2)

AC代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> res;
for(int i = 0; i < numRows; i++){
vector<int> level;
for(int j = 0; j <= i; j++){
if(!j || j == i) level.push_back(1);
else level.push_back(res[i - 1][j - 1] + res[i - 1][j]);
}
res.push_back(level);
}
return res;
}
};