DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Pascal's Triangle II

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
Enter fullscreen mode Exit fullscreen mode

Top comments (0)