原题
https://leetcode.cn/problems/pascals-triangle/description/
思路
循环
复杂度
时间:O(n2)
空间:O(n2)
Python代码
class Solution:
def generate(self, numRows: int) -> List[List[int]]:
ans = []
for i in range(1, numRows+1):
if i == 1:
ans.append([1])
else:
prev = ans[-1]
curr = []
for j in range(i):
if j == 0 or j == i - 1:
curr.append(prev[0])
else:
curr.append(prev[j-1] + prev[j])
ans.append(curr)
return ans
Go代码
func generate(numRows int) [][]int {
var ans [][]int
for i := 1; i <= numRows; i++ {
if i == 1 {
ans = append(ans, []int{1})
} else {
prev := ans[len(ans)-1]
curr := []int{}
for j := 0; j < i; j++ {
if j == 0 || j == i-1 {
curr = append(curr, prev[0])
} else {
curr = append(curr, prev[j-1]+prev[j])
}
}
ans = append(ans, curr)
}
}
return ans
}
446

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



