美文网首页
[数组]杨辉三角 II

[数组]杨辉三角 II

作者: 周闖 | 来源:发表于2020-01-23 23:58 被阅读0次

119. 杨辉三角 II

题目描述

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


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

示例:

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

解题思路

  • 方法1:
    对每一行单独处理:首、尾分别添加一个0然后对应位置求和就可以得到新的一行。
    只用设置一个列表res即可,每循环一次就覆盖res一次即可。最终循环结束,返回res即可。
  • 方法2:
    j行的数据, 应该由j - 1行的数据计算出来.
    假设j - 1行为[1,3,3,1], 那么我们前面插入一个0(j行的数据会比j-1行多一个),
    然后执行相加[0+1,1+3,3+3,3+1,1] = [1,4,6,4,1], 最后一个1保留即可.

代码实现

  • 方法1:
class Solution(object):
    def getRow(self, rowIndex):
        """
        :type rowIndex: int
        :rtype: List[int]
        """
        res = [1]
        if rowIndex == 0:
            return res
        for i in range(1, rowIndex + 1):
            new_row = [a + b for a, b in zip([0] + res, res + [0])]
            res = new_row
        return res
  • 方法2:
class Solution(object):
    def getRow(self, rowIndex):
        """
        :type rowIndex: int
        :rtype: List[int]
        """
        res = [1]
        for i in range(1, rowIndex + 1):
            res.insert(0, 0)
            for j in range(i):
                res[j] = res[j] + res[j + 1]
        return res

相关文章

  • [数组]杨辉三角 II

    119. 杨辉三角 II 题目描述 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 示例:输...

  • pascals-triangle-ii

    杨辉三角 II 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上...

  • 119. 杨辉三角 II

    leetcode 119. 杨辉三角 II 题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k ...

  • Leetcode-119 杨辉三角 II

    119. 杨辉三角 II[https://leetcode-cn.com/problems/pascals-tri...

  • 2021.2.12每日一题

    119. 杨辉三角 II[https://leetcode-cn.com/problems/pascals-tri...

  • 二维数组

    二维数组树出杨辉三角:打印杨辉三角形(行数可以键盘录入)

  • Java二维数组

    二维数组树出杨辉三角:打印杨辉三角形(行数可以键盘录入)

  • 大石头 -- 综合练习

    二维数组 和 杨辉三角形

  • 力扣随机解题

    118. 杨辉三角 119. 杨辉三角 II 94. 二叉树的中序遍历 704. 二分查找 21. 合并两个有序链...

  • C# 二维数组

    首先先来个简单的,介绍下二维数组 利用二维数组,写出杨辉三角

网友评论

      本文标题:[数组]杨辉三角 II

      本文链接:https://www.haomeiwen.com/subject/fbszzctx.html