leetcode——杨辉三角(简单移动的解法)

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

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

示例 1:

复制代码
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:

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

解题方法:(简单的数学规律)

1.杨辉三角中每个数的左上方的数与其右上方的数相加等于该数,所以我们需要两层循环来解题。

2.首先第一层循环是我们行的遍历,然后第二层循环是我们的列的遍历。

3.记得每一次退出第二层循环的时候我们需要在该行的末尾加上1

java 复制代码
class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> c = new ArrayList<>(numRows);
        c.add(List.of(1));
        for (int i = 1; i < numRows; i++) {
            List<Integer> row = new ArrayList<>(i + 1);
            row.add(1);
            for (int j = 1; j < i; j++) {
                row.add(c.get(i - 1).get(j - 1) + c.get(i - 1).get(j));
            }
            row.add(1);
            c.add(row);
        }
        return c;
    }
}
相关推荐
你也向往长安城吗4 分钟前
推荐一个三维导航库:three-pathfinding-3d
javascript·算法
百度智能云20 分钟前
VectorDB+FastGPT一站式构建:智能知识库与企业级对话系统实战
算法
John.Lewis1 小时前
数据结构初阶(13)排序算法-选择排序(选择排序、堆排序)(动图演示)
c语言·数据结构·排序算法
AI小白的Python之路1 小时前
数据结构与算法-排序
数据结构·算法·排序算法
DashVector1 小时前
如何通过Java SDK检索Doc
后端·算法·架构
zzz9331 小时前
transformer实战——mask
算法
一只鱼^_2 小时前
牛客周赛 Round 105
数据结构·c++·算法·均值算法·逻辑回归·动态规划·启发式算法
是阿建吖!2 小时前
【动态规划】斐波那契数列模型
算法·动态规划
啊阿狸不会拉杆2 小时前
《算法导论》第 27 章 - 多线程算法
java·jvm·c++·算法·图论
火车叨位去19493 小时前
力扣top100(day04-05)--堆
算法·leetcode·职场和发展