LeetCode刷题之路:119. 杨辉三角II

如果帮助到您,还请点个关注吧,hahaha

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

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

示例:

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

你可以优化你的算法到 O(k) 空间复杂度吗?

#最直观的思路
这道题跟118题非常相似
这个题只需要返回最后一行的结果就行,而不需要中间行的结果
所以我们可以设置一个变量,让其随着行数改变而一直改变
一个小坑:这个题的行数是从0行开始的
如果感觉代码理解有困难的话可以参考118题的题解

class Solution:
    def getRow(self, rowIndex: int) -> List[int]:
        result = [1]
        row = 0
        for _ in range(rowIndex):
            result = [a + b for a,b in zip([0] + result, result + [0])]
        return result

你可能感兴趣的:(力扣LeetCode,算法,python,leetcode,杨辉三角II)