LeetCode118.杨辉三角

题目:

给定一个非负整数numRows,生成「杨辉三角」的前numRows行。

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

示例1:

输入:numRows=5

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

1,4,6,4,1\]

示例2:

输入:numRows=1

输出:[[1]]

思路:

当前的值,等于左上角加上正上方。

代码:

复制代码
    public List<List<Integer>> generate(int numRows) {
        // ​[1]
        // [1,1]
        // [1,2,1]
        // [1,3,3,1]
        // [1,4,6,4,1]​


        //预分配空间
        List<List<Integer>> resultList = new ArrayList<>(numRows);
        //添加一个list
        resultList.add( List.of(1));

        for (int i=1; i< numRows; i++) {

            List<Integer> list = new ArrayList<>();
            //每行的第一个数是1
            list.add(1);

            //i是行, j是列
            //左上角的行下标,比当前的行下标减一。正上方的列下标,分别是  j-1 和 j.
            for (int j=1; j<i; j++) {
                //当前的值,等于左上角加上正上方
                list.add( resultList.get(i-1).get(j-1) + resultList.get(i-1).get(j)   );
            }
            //每行的最后一个数是1
            list.add(1);
            resultList.add( list);

        }
        return resultList;


    }
相关推荐
代码游侠2 分钟前
应用——Linux 标准IO编程
linux·前端·数据库·学习·算法
小尧嵌入式5 分钟前
在windows上安装ffmpeg及新版ffmpeg命令
c++·windows·算法·ffmpeg
beordie5 分钟前
LeetCode 1. 两数之和 | 从暴力到哈希表的优化之路
算法
free-elcmacom9 分钟前
机器学习进阶<5>K-means智能客户分群与可视化分析系统
算法·机器学习·kmeans
csuzhucong9 分钟前
海盐折纸
算法
oioihoii11 分钟前
单链表与双链表专题详解
数据结构·算法
晞微14 分钟前
神经网络学习:感知器算法实现与可视化
神经网络·学习·算法
AndrewHZ16 分钟前
【图像处理基石】RGB图像频域滤波:原理、实现与实战(Python)
图像处理·python·算法·计算机视觉·傅里叶变换·频域滤波·滤波核设计
EXtreme3517 分钟前
栈(Stack)的约束之美:LIFO哲思、实现剖析与算法应用全景深度解析
数据结构·算法··共享栈·链栈·lifo·表达式求值
wefg124 分钟前
【算法】深度优先遍历/搜索(递归、回溯、剪枝)
算法