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;


    }
相关推荐
Delightrs17 分钟前
Rust LeetCode238 算法题解
开发语言·算法·rust
自信1504130575941 分钟前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
文丑颜不良啊43 分钟前
LeetCode2501~2520题目解析
java·leetcode
GoAI12 小时前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试
Pniubi12 小时前
力扣54.螺旋矩阵
算法·leetcode·矩阵
choumou_M15 小时前
算法_1:由浅入深学习快速排序QuickSort
学习·算法·排序算法
Coder_Shenshen15 小时前
罗克韦尔ACD工程归档离线变量树解析
算法·c#
心仪久了会沦陷17 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
小此方17 小时前
[算法实战论:动态规划]背包问题概念,01不满背包问题,01满背包问题,背包问题的滚动数组空间优化
算法·动态规划