118. Pascal's Triangle
程序员文章站
2022-04-01 11:32:17
...
1,题目要求
n = 5:
也就是输出规定行数的杨辉三角。
2,题目思路
观察杨辉三角的构造形式,在每一行的最左和最右侧都是1,而其中的元素的值,则是上面一行的相邻两个值的和构造成的。也就是:num[i][j] = num[i-1][j-1] + num[i-1][j]
3,程序源码
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> num(numRows);
for(int i=0;i<numRows;i++)
for(int j = 0;j<=i;j++)
{
if(j == 0 || j == i)
num[i].push_back(1);
else
num[i].push_back(num[i-1][j-1] + num[i-1][j]);
}
return num;
}
};
需要注意的是,因为容器是向量而不是数组,因此在取向量的值时,需要对向量数进行初始化,否则num[i]会出错。
推荐阅读
-
POJ 2704 Pascal's Travels G++ dfs记忆化搜索
-
Leetcode No.119 Pascal's Triangle II(c++实现)
-
杨辉三角(pascal's triangle)
-
LeetCode-119. Pascal's Triangle II
-
119. Pascal's Triangle II [杨辉三角形2]
-
119. Pascal's Triangle II
-
leetcode -- 119. Pascal's Triangle II
-
2018.05.03 leetcode #119. Pascal's Triangle II
-
【leetcode】119. Pascal's Triangle II
-
LeetCode 119. Pascal's Triangle II