LeetCode(119. 杨辉三角 II)

问题描述

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

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

示例:

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

进阶:

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

解决方案

class Solution:
    def getRow(self, rowIndex):
        """
        :type rowIndex: int
        :rtype: List[int]
        """
        row = [1]
        for i in range(rowIndex):
            row = [1] + [row[j]+row[j+1] for j in range(len(row)-1)] + [1] 
        return row

时间复杂度:O(n^2)

ps:

理解空间复杂度,这篇博文很不错值得反复看看

posted @ 2019-01-20 19:45  YanceDev  阅读(207)  评论(0编辑  收藏  举报