[LeetCode] 119. 杨辉三角 II

题目链接 : https://leetcode-cn.com/problems/pascals-triangle-ii/

题目描述:

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

img

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

示例:

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

进阶:

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

思路:

跟上一题一样118. 杨辉三角,

模拟过程

代码:

    def getRow(self, rowIndex: int) -> List[int]:
        tmp = []
        for _ in range(rowIndex + 1):
            tmp.insert(0, 1)
            for i in range(1, len(tmp) - 1):
                tmp[i] = tmp[i] + tmp[i+1]
        return tmp

java

class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> tmp = new LinkedList<>();
        for (int i = 0; i <= rowIndex; i++) {
            tmp.add(0, 1);
            for (int j = 1; j < tmp.size() - 1; j++)
                tmp.set(j, tmp.get(j) + tmp.get(j + 1));
        }
        return tmp;
    }
}

posted on 2019-07-03 20:53  威行天下  阅读(165)  评论(0编辑  收藏  举报

导航