Given an integer rowIndex
, return the rowIndexth
(0-indexed) row of the Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it as shown:
Example 1:
Input: rowIndex = 3
Output: [1,3,3,1]
Example 2:
Input: rowIndex = 0
Output: [1]
Example 3:
Input: rowIndex = 1
Output: [1,1]
Constraints:
-
0 <= rowIndex <= 33
Follow up: Could you optimize your algorithm to use only O(rowIndex)
extra space?
SOLUTION:
class Solution:
def getRow(self, rowIndex: int) -> List[int]:
curr = [1]
for i in range(rowIndex):
curr = [0] + curr + [0]
n = len(curr)
for i in range(n - 1):
curr[i] = curr[i] + curr[i + 1]
curr.pop()
return curr
Top comments (0)