leetcode 119. 杨辉三角 II(python)

题目链接

题目描述:

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。

在这里插入图片描述

在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:

输入: 3
输出: [1,3,3,1]

解题思路:
1.和之前的全部输出杨辉三角一样,计算前k行,只输出最后一行(注意,题中说的是索引,索引为k实际为k+1行)

class Solution:
    def getRow(self, rowIndex: int) -> List[int]:
        res=[]
        for i in range(0,rowIndex+1):
            t=[1]*(i+1)#将每一行的元素初始化为1
            if i>1:#从第三行开始
                for j in range(1,i):#除了第一个元素和最后一个元素
                    t[j]=res[i-1][j]+res[i-1][j-1] #每个元素是它左上方和右上方的数的和
            res.append(t)
        return res[-1]

猜你喜欢

转载自blog.csdn.net/weixin_44740082/article/details/88947654