杨辉三角 II

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex行。

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

示例 1:

复制代码
输入: rowIndex = 3
输出: [1,3,3,1]

示例 2:

复制代码
输入: rowIndex = 0
输出: [1]

示例 3:

复制代码
输入: rowIndex = 1
输出: [1,1]

提示:

  • 0 <= rowIndex <= 33

进阶:

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

java 复制代码
class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<List<Integer>> list = new ArrayList<>();
        for (int i = 0; i <= rowIndex; i++) {
            List<Integer> temp = new ArrayList<>();
            if (i == 0) {
                temp.add(1);
            } else {
                List<Integer> last = list.get(i - 1);
                for (int j = 0; j < last.size(); j++) {
                    if (j == 0) {
                        temp.add(last.get(j));
                    }
                    if (j > 0) {
                        temp.add(last.get(j - 1) + last.get(j));
                    }
                    if (j == last.size() - 1) {
                        temp.add(last.get(last.size() - 1));
                    }
                }
            }
            list.add(temp);
        }
        return list.get(list.size() - 1);
    }
}
相关推荐
隔窗听雨眠27 分钟前
C语言函数递归从入门到精通(下):性能优化与工程实践
c语言·算法·性能优化
退休倒计时33 分钟前
【每日一题】LeetCode 146. LRU 缓存 TypeScript
算法·leetcode·缓存·typescript
珊瑚里的鱼36 分钟前
【递归】汉诺塔
算法·深度优先
MrZhao4001 小时前
一个最小 Agent 是怎么跑起来的:Agent Loop 与工具使用全链路
算法
Keven_111 小时前
算法札记:二分
算法·二分
TCW11211 小时前
AI底层系列:用C++实现线性代数的公式推导与算法设计-6.线性方程组的解集
c++·人工智能·算法
luoyayun3611 小时前
从零实现 EBU R128 LUFS 响度分析:K-weighting 滤波、双门限算法
算法·lufs响度分析
小糯米6011 小时前
JS 数组
数据结构·算法·排序算法
小欣加油1 小时前
leetcode3612 用特殊操作处理字符串I
数据结构·c++·算法·leetcode·职场和发展
拳里剑气1 小时前
C++算法:链表
c++·算法·链表