Pascal Triangle II

def getRow(self, rowIndex):
        """
        :type rowIndex: int
        :rtype: List[int]
        """
        
        if rowIndex == 0:
            return [1]
        
        numRows = rowIndex + 1
        
        previous = [1]
        answer = None
        
        for x in range(2, numRows+1):
            row = [1]*x

            # Mutate the row
            for y in range(1, x-1):
                #print("x={} y={} row={} prev={}".format(x, y, row, previous))
                row[y] = previous[y-1]+ previous[y]
            
            del previous
            
            # Update previous and possible answer
            previous = row
            answer = row
        
        return answer

Written with StackEdit.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: