119. 杨辉三角 II

作者: 1江春水 | 来源:发表于2019-07-24 11:16 被阅读3次

【问题描述】
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。


PascalTriangleAnimated2.gif

【示例】

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

【进阶】

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

根据题目1 可得出解法1

  • 时间复杂度O(nlogn)
  • 空间复杂度O(n+k)
    【解1】
func getRow(_ rowIndex: Int) -> [Int] {
    if rowIndex == 0 {
        return [1]
    } else if rowIndex == 1 {
        return [1,1]
    } else {
        var arr = [[Int]]()
        arr.append([1])
        arr.append([1,1])
        for num in 2...rowIndex {
            var tmp = [Int]()
            let preArr = arr[num-1]
            for i in 0...num {
                if i == 0 || i == num {
                    tmp.append(1)
                } else {
                    tmp.append(preArr[i]+preArr[i-1])
                }
            }
            arr.append(tmp)
        }
        return arr[rowIndex]
    }
}

解法2

  • 空间复杂度O(k)
  • 时间复杂度O(nlogn)
    【解2】
func getRow(_ rowIndex: Int) -> [Int] {
    var result = Array.init(repeating: 0, count: rowIndex+1)
    result[0] = 1
    for i in 0...rowIndex {
        var tmp = i
        while tmp > 0 {
            result[tmp]+=result[tmp-1]
            tmp-=1
        }
    }
    return result
}

思路:

  • 因为只需要返回给定行数数组即可,不需要保留整个数组
  • 所以只需要一直迭代循环即可,需要给出边界为0的值
  • 当rowIndex=0,return [1]

相关文章

  • Leetcode-119 杨辉三角 II

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

  • 2021.2.12每日一题

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

  • 119. 杨辉三角 II

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

  • [数组]杨辉三角 II

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

  • 力扣随机解题

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

  • python实现leetcode之119. 杨辉三角 II

    解题思路 思路与上一题一样,保留最后一行 119. 杨辉三角 II[https://leetcode-cn.com...

  • 119. 杨辉三角 II

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

  • 119. 杨辉三角 II

    【问题描述】给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右...

  • 119.杨辉三角II

    题目描述 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 示例: 在杨辉三角中,每个数是它左...

  • 119. 杨辉三角 II

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

网友评论

    本文标题:119. 杨辉三角 II

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