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;


    }
相关推荐
ShineWinsu30 分钟前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
pp起床41 分钟前
动态规划 | part05
算法·动态规划
GuangHeAI_ATing1 小时前
国密算法SSD怎么选?这3款国产固态硬盘安全又高速
算法
雨泪丶1 小时前
代码随想录算法训练营-Day34
算法
Yzzz-F1 小时前
牛客寒假算法训练营2
算法
甄心爱学习2 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
iAkuya2 小时前
(leetcode)力扣100 76数据流的中位数(堆)
算法·leetcode·职场和发展
键盘鼓手苏苏2 小时前
Flutter for OpenHarmony: Flutter 三方库 ntp 精准同步鸿蒙设备系统时间(分布式协同授时利器)
android·分布式·算法·flutter·华为·中间件·harmonyos
董董灿是个攻城狮3 小时前
AI 视觉连载5:传统 CV 之均值滤波
算法
多恩Stone3 小时前
【3D-AICG 系列-11】Trellis 2 的 Shape VAE 训练流程梳理
人工智能·pytorch·算法·3d·aigc