题目链接: 杨辉三角
有关题目
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例 2:
输入: numRows = 1
输出: [[1]]
提示:
1 <= numRows <= 30
题解
法一:数学
参考官方题解
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> ans(numRows);
for (int i = 1; i <= numRows; i++)
{
ans[i - 1].resize(i);
ans[i - 1][0] = 1, ans[i - 1][i - 1] = 1;
for (int j = 1; j < i - 1; j++)//j < 2
{
ans[i - 1][j] = ans[i - 2][j - 1] + ans[i - 2][j];
}
}
return ans;
}
};

该博客介绍了如何使用数学方法解决编程问题,具体是生成指定行数的杨辉三角。通过示例展示了当输入为5时,如何得到杨辉三角的前5行,并提供了详细的代码实现,展示了如何填充每一行的数值,每个数由其上一行的两个相邻数相加得出。
576

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



