118-pascals-triangle¶
Try it on leetcode
Description¶
Given an integer numRows
, return the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it as shown:

Example 1:
Input: numRows = 5 Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Example 2:
Input: numRows = 1 Output: [[1]]
Constraints:
1 <= numRows <= 30
Solution(Python)¶
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
dp = [[1 for j in range(i + 1)] for i in range(numRows)]
for i in range(2, numRows):
for j in range(1, i):
dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1]
return dp