题目链接
题目描述
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
示例
示例1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
提示
1 <= numRows <= 30
思路
数学
根据杨辉三角的性质:
第 n 行第 m 个数的值为 
某个数的值等于它两肩上的和,即
另外
测试样例的范围为[1, 30],因此可以直接打表(
题解
class Solution: def generate(self, numRows: int) -> List[List[int]]: ans = [] for i in range(numRows): row = [] for j in range(0, i+1): if j == 0 or j == i: row.append(1) else: row.append(ans[i-1][j-1]+ans[i-1][j]) ans.append(row) return ans
复杂度分析
时间复杂度:
- 空间复杂度:
