leetcode-119:杨辉三角 II

简介: leetcode-119:杨辉三角 II

题目

题目链接

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

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

示例:

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

解题

方法一:取杨辉三角的最后一行(空间复杂度O(k*(k+1)/2))

生成杨辉三角,取最后一行

class Solution:
    def getRow(self, rowIndex: int) -> List[int]:
        ret = []
        for i in range(rowIndex+1):
            row = []
            for j in range(i+1):
                if j==0 or j==i:
                    row.append(1)
                else:
                    row.append(ret[i-1][j]+ret[i-1][j-1])
            ret.append(row)
        return ret[-1]

方法二:直接生成该行(空间复杂度O(k))

该方法题解来源链接

class Solution(object):
    def getRow(self, rowIndex):
        """
        :type rowIndex: int
        :rtype: List[int]
        """
        res = [1] * (rowIndex + 1)
        for i in range(2, rowIndex + 1):
            for j in range(i - 1, 0, -1):
                res[j] += res[j - 1]
        return res
相关文章
|
6月前
|
存储 SQL 算法
LeetCode 题目 118:杨辉三角
LeetCode 题目 118:杨辉三角
|
7月前
leetcode代码记录(杨辉三角
leetcode代码记录(杨辉三角
42 1
【每日一题】4.LeetCode——杨辉三角
【每日一题】4.LeetCode——杨辉三角
|
7月前
leetcode-118:杨辉三角
leetcode-118:杨辉三角
58 0
|
算法
【LeetCode】136. 只出现一次的数字、118. 杨辉三角
目录 136. 只出现一次的数字 118. 杨辉三角
53 0
leetcode:118. 杨辉三角
函数原型:int** generate(int numRows, int* returnSize, int** returnColumnSizes) 参数解析:numRows是指明要求前几行杨辉三角 returnSize是返回指针数组的元素个数 returnColumnSizes是指明杨辉三角每一行有几个元素
71 0
力扣118.杨辉三角
给定一个非负整数 numRows生成「杨辉三角」的前 numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。链接位置:力扣。
48 0
|
算法
《LeetCode-数组篇一》之杨辉三角与重塑矩阵
《LeetCode-数组篇一》之杨辉三角与重塑矩阵
121 0
|
存储
力扣119杨辉三角 II:代码实现 + 方法总结(数学规律法 & 记忆法/备忘录)
力扣119杨辉三角 II:代码实现 + 方法总结(数学规律法 & 记忆法/备忘录)
95 0
|
3月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行