LeetCode刷题记录 |
文章目录
- 📜杨辉三角Ⅰ
- ⌨C++代码
- 📜杨辉三角Ⅱ
- ⌨C++代码
📜杨辉三角Ⅰ
给定一个非负整数 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
思路
- 每一行的第一列和最后一列设置为1
- 从第三行开始,列从第二列开始,每个元素都等于该列的上一行的位置的元素 + 上一行的上一列位置的元素
⌨C++代码
📜杨辉三角Ⅱ
给定一个非负索引
rowIndex
,返回「杨辉三角」的第rowIndex
行。
示例1
输入: rowIndex = 3
输出: [1,3,3,1]
示例2
输入: rowIndex = 0
输出: [1]
示例3
输入: rowIndex = 1
输出: [1,1]
提示:
- 0 <= rowIndex <= 33
思路
求下标为index的行
就从下标从1的行开始迭代
每一次从当前行j位置开始,从后向前走(否则前面的会被覆盖)
j位置+=j-1位置的值
过程分析: