Leetcode # 118. Pascal’s Triangle

https://leetcode.com/problems/pascals-triangle/

Solution

Time Complexity: O((1 + numRows) * numRows / 2) = O(numRows ^ 2)
Space Complexity: O(1)
(The input and output generally do not count towards the space complexity.)

注意:
pascals_triangle[i][j] = pascals_triangle[i - 1][j - 1] + pascals_triangle[i - 1][j]
 pascals_triangle[i][j] = pascals_triangle[i - 1][j - 1] + pascals_triangle[i - 1][j + 1]

 

class Solution:
  def generate(self, numRows: int) -> List[List[int]]:
    pascals_triangle = [[1] * i for i in range(1, numRows + 1)]
    for i in range(2, numRows):
      for j in range(1, (i + 2) // 2):
        pascals_triangle[i][j] = pascals_triangle[i][-1 - j] \
          = pascals_triangle[i - 1][j - 1] + pascals_triangle[i - 1][j]
    return pascals_triangle

 

Last Updated on 2023/08/16 by A1go

目錄

目錄
Bitnami