原题
https://leetcode.cn/problems/pascals-triangle-ii/description/
思路
动态规划
复杂度
时间:O(n2)
空间:O(n2)
Python代码
class Solution:
def getRow(self, rowIndex: int) -> List[int]:
triangles = []
for i in range(rowIndex + 1):
# 当前行
row = []
if i == 0:
row.append(1)
else:
# 上一行
prev = triangles[i - 1]
row.append(1)
for j in range(i - 1):
row.append(prev[j] + prev[j + 1])
row.append(1)
triangles.append(row)
return triangles[rowIndex]
Go代码
func getRow(rowIndex int) []int {
var triangles [][]int
for i := 0; i <= rowIndex; i++ {
// 当前行
row := []int{}
if i == 0 {
row = append(row, 1)
} else {
// 上一行
prev := triangles[i-1]
row = append(row, 1)
for j := 0; j < i-1; j++ {
row = append(row, prev[j]+prev[j+1])
}
row = append(row, 1)
}
triangles = append(triangles, row)
}
return triangles[rowIndex]
}
281

被折叠的 条评论
为什么被折叠?



