题目:
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
代码:
class Solution:
def getRow(self, rowIndex):
generate_list = []
for i in range(rowIndex+1):
level_generate_list = []
for j in range(i+1):
if j == 0 or j == i:
level_generate_list.append(1)
else:
level_generate_list.append(generate_list[j-1] + generate_list[j])
generate_list = level_generate_list
return generate_list
结果:
说明:
与杨辉三角一解法一样,只需要注意两点,1.给定k是索引且非负,则不需要再判断0行的情况,因为k最小值为0,则至少保证存在一行数据。2.因为只返回第k行,则计算过程中不需要将全部中间结果保存,只需要保存好第k-1行即可。