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;


    }
相关推荐
ZZTC7 分钟前
Python贪心
开发语言·python·算法·蓝桥杯
风清扬雨1 小时前
【计算机视觉】超简单!插值算法经典案例
人工智能·算法·计算机视觉
Wang's Blog1 小时前
数据结构与算法之链表: LeetCode 146. LRU 缓存 (Ts版)
leetcode·链表·缓存
KeyPan1 小时前
【机器学习:七、分类问题】
人工智能·数码相机·算法·机器学习·计算机视觉·分类·数据挖掘
xiaoshiguang33 小时前
LeetCode:77. 组合
java·算法·leetcode
Ning_.6 小时前
LeetCode 第367题:有效的完全平方数
算法·leetcode·职场和发展
今天吃饺子8 小时前
小创新模型!6种2024算法优化BiTCN-SVM单变量输入单步预测,MATLAB机器学习预测全家桶再更新...
人工智能·算法·机器学习·支持向量机·matlab
廖显东-ShirDon 讲编程9 小时前
《零基础Go语言算法实战》【题目 2-5】函数参数的值传递和引用传递
算法·程序员·go语言·web编程·go web
不玩return的马可乐9 小时前
LeetCode 747. 至少是其他数字两倍的最大数
数据结构·c++·程序人生·算法·leetcode
bgf_me9 小时前
代码随想录算法训练营第三十二天|509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯
算法