leetcode-第118题-杨辉三角

【LeetCode】第118题——杨辉三角(难度:简单) 【LeetCode】第118题——杨辉三角(难度:简单)题目描述解题思路代码详解注意点 题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/pascals-triangle 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题思路 采用双循环,外层循环负责第i层,内层 阅读详情

博主并没有什么算法基础,所以写的不好,勿喷,抛砖引玉,欢迎交流,感谢。

//给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 
// 在杨辉三角中,每个数是它左上方和右上方的数的和。
// 示例:
// 输入: 5
//输出:
//[
//     [1],
//    [1,1],
//   [1,2,1],
//  [1,3,3,1],
// [1,4,6,4,1]
//] 
// Related Topics 数组 
// 👍 349 👎 0


package com.zqh.leetcode.editor.cn;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

//Java:杨辉三角
public class P118PascalsTriangle {
    public static void main(String[] args) {
        Solution solution = new P118PascalsTriangle().new Solution();
        System.out.println(solution.generate(5));
        // TO TEST
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> result = new ArrayList<>(numRows);
            if (0 == numRows) {
                return result;
            }
            List<Integer> array = Arrays.asList(1);
            result.add(array);
            if (1 == numRows) {
                return result;
            }
            triangle(result, array, numRows, 2);
            return result;
        }

        /**
         * @param result         结果集
         * @param upperArray     上一层的结果
         * @param totalNumRows   总行数
         * @param currentNumRows 当前行数
         */
        public void triangle(List<List<Integer>> result, List<Integer> upperArray, int totalNumRows, int currentNumRows) {
            List<Integer> currentArray = new ArrayList<>(currentNumRows);
            for (int i = 0; i < currentNumRows; i++) {
                if (i == 0 || i == currentNumRows - 1) {
                    // 如果是首位或末尾,就直接设置1
                    currentArray.add(1);
                    continue;
                }
                // 其他的就拿取上一层结果的前一坐标值+当前坐标值
                currentArray.add(upperArray.get(i - 1) + upperArray.get(i));
            }
            result.add(currentArray);
            if (totalNumRows != currentNumRows) {
                // 还没到指定行数,就继续循环
                triangle(result, currentArray, totalNumRows, ++currentNumRows);
            }
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}

 

软考高级网络规划设计师教程(第3版) "本书是由工业和信息化部教育与考试中心组织编写的考试用书,依据《网络规划设计师考试大纲》(2026年审定通过)编写。本书分为两篇:第一篇为网络规划与设计综合知识,其中第1章介绍计算机网络基础知识,第2章介绍网络互连与互联网,第3章介绍网络规划与设计的知识和方法,第4章介绍网络资源设备,第5章介绍网络安全技术,第6章介绍标准化和网络安全法规;第二篇为案例实践,其中第7章介绍网络规划案例,第8章介绍网络故障分析与处理案例,第9章介绍网络安全部署案例,第10章介绍网络规划与设计论文写作的指导思想和写作技巧。 阅读详情

相关推荐

知识导航神器:Obsidian Breadcrumbs 插件全攻略

Parent: 插件Child: Breadcrumbs 用法这样,它就能识别出你和其他笔记的关系。

m0_73735578的博客 1628

算法学习:LeetCode-118. 杨辉三角

杨辉三角

qq_44635691的博客 578

SCAN和JTAG分别是什么?它们之间有什么联系与区别?

SCAN(扫描)技术是集成电路测试领域的一种方法,主要用于边界扫描测试(Boundary Scan)。它是在集成电路设计中引入的一种测试结构,允许测试人员通过在芯片的输入/输出引脚上设置和读取特殊寄存器(边界扫描寄存器,BSR)的内容,来间接测试电路板上的互联和芯片内部功能块。这种方式可以在不接触其他内部节点的情况下测试整个电路板的连接性,极大地提高了测试覆盖率和可诊断性。JTAG(Joint Test Action Group,联合测试行动小组)则是开发并推广边界扫描测试标准的一个组织。

初心不忘产学研的博客 2539

leetcode题解118-杨辉三角

问题描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [[1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 解题思路 在杨辉三角中,每个数是它左上方和右上方的数的和。本题如果将一个三角形转化为矩阵来做便迎刃而解。 考虑三种特殊情况 1.当numrows为0的时候,杨辉三角不存在,返回空集合 2.当numrows为1的时候,杨辉三角只有1行内容,且为1 3.

Java硬件工程师的博客 2009

【Unity3D渲染】Unity3d实现Photoshop的各种图层混合模式

Adobe Photoshop图层混合原理、Unity ShaderLab图层混合实现

a310989583的专栏 2434

基于STM32避障/循迹/蓝牙遥控小车的硬件与软件底层设计

1、实现2m的自动直线行驶,要求左右偏移不大于10cm。2、车载显示屏显示车辆当前行驶速度或车辆运行时间,当前方20cm内出现障碍物时显示与前方障碍物的距离,车每次转弯蜂鸣器报警,同时通过左右指示灯指示转弯方向。3、依次驶过障碍物①②③④,且不触碰障碍物。4、成功进行调头转弯,行驶过程中车轮不碾压黑实线。5、在车道指定位置停车且不越界。6、通过红外、蓝牙、WiFi等任意一种方式实现对小车的控制,使其前进、后退、左转、右转。

2301_78758161的博客 1万+

LeetCode第118题_杨辉三角

给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

qq_40263592的博客 2179

quartus 13.1常见报错解决方法

在使用quartus中会遇到很多由于安装或设置不规范造成的错误。我就目前我遇到的一些错误以及我的解决方法分享给大家,这个文章将会持续更新,如果读者有遇到软件中错误无法解决的问题,也欢迎在评论区留言。 一、编译出现lience错误 在对设计的电路编译时,系统在程序运行3秒内即结束并报错,大概意思为现有的证书不支持编译。这个常见问题源自破解不成功,这里读者很有可能犯的错误是在使用破解器的时候没有区分x86(即32-bit)和x64软件破解器对应的文件夹。 如图所示有两种破解器,分别对应32位和64位的软件,大部

肥宅的博客 3万+

LeetCode-第118题-杨辉三角

LeetCode-第118题-杨辉三角

人间失格的博客 304

UE5垃圾回收优化实战:定位GC卡顿与内存泄漏

垃圾回收(GC)是Unreal Engine 5中保障UObject内存安全的核心机制,其基于引用图的标记-清除原理决定了性能高度依赖引用结构合理性。当GC频繁触发或单次耗时突增,往往映射出蓝图强引用冗余、C++根对象管理失控或资源生命周期设计缺陷等底层问题。技术价值在于降低主线程阻塞、稳定60帧体验、抑制内存异常增长;典型应用场景包括关卡切换卡顿、UI打开后持续GC、打包后内存不释放等。本文聚焦UE5特有的Full GC模式、UObject生命周期约束及GC触发时机不可见性,提供从蓝图变量规范、TSoft

weixin_31995251的博客 362

Unity中使用TCP和UDP传输摄像头视频的实践

本文探讨了在Unity中通过TCP和UDP协议传输摄像头视频的实现方法。TCP通过自定义消息帧保证数据完整性但效率较低,UDP传输速度快但可能丢帧。文章提供了Python和Unity的代码示例,分析了两种协议的适用场景:TCP适合要求数据完整性的应用,UDP则适合追求实时性的场景。最终选择取决于具体需求,并需要注意线程安全与同步机制。

m0_74337424的博客 145

LeetCode-118. 杨辉三角I(java)

金三银四,又到了刷题月。有时间的话,希望大家还是尽量刷起来咯。帮助往往不是直接体现出来的,但会让你对很多东西的底层实现了解的更深刻。

**My Coding Family** 981

华为od 面试八股文_数据库_01_含答案

华为od 面试八股文_数据库_01_含答案

MISAYAONE的博客 2160

力扣第118题:杨辉三角 - C语言解法

给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数字是由上方两个数字相加得到的,第n行的第k个数字是由第n-1行的第k-1个和第k个数字相加而来,边界上的数字始终为1。

weixin_48941116的博客 1261

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

杨辉三角--leetcode第118题

杨辉三角–leetcode第118题 题目:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 注:在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] 在本题中,大致可以分为三步: 开辟杨辉三角的空间 先将杨辉三角中的每行的第一个和最后一个都赋值为1 ...

Angelxinjun的博客 334

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

leetcode118. 杨辉三角,老题又做

leetcode118. 杨辉三角,老题又做

热爱C++和golang的学生 1090

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

力扣(leetcode)第118题杨辉三角(Python)

最后,我写了一篇MySQL教程,里面详细的介绍了MySQL的基本概念以及操作指令等内容,欢迎阅读!输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。输入: numRows = 5。输入: numRows = 1。

qq_58737789的博客 855

[JavaScript 刷题] DP - 杨辉三角, leetcode 118

github repo 地址: https://github.com/GoldenaArcher/js_leetcode,Github 的目录 大概 会更新的更勤快一些。题目地址:118. Pascal’s Triangle如下:想要解这道题,先或多或少得了解一下杨辉三角是什么。摘自维基百科:更直观的方法就是……看图:第一层第二层没什么好说的,从第三层开始,最左和最右都是 111,中间为上一层对应两数之和。也就是说,nnn 层的长度永远比 n+1n+1n+1 层少 1,而第 nnn 层的层数与该层的元素数量

GoldenaArcher的博客 406

力扣热题100_动态规划_118_杨辉三角

力扣热题100_动态规划_118_杨辉三角

weixin_42504788的博客 572

LeetCode 热题 100 118. 杨辉三角

LeetCode 热题 100 | 118. 杨辉三角

m0_63951116的博客 584

LeetCode第118题 - 杨辉三角

LeetCode第118题 - 杨辉三角

流水账 423

LeetCode 热题 100 -- 118. 杨辉三角

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

qq_74980411的博客 362

LeetCode第118题—杨辉三角—Python实现

title: LeetCode No.118 categories: OJ LeetCode tags: Programing LeetCode OJ LeetCode第118题—杨辉三角 自己代码的开源仓库:click here 欢迎Star和Fork ???? 题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1],

StriveZs'Blog 321

C练题笔记之:Leetcode-118. 杨辉三角

题目: 给定一个非负整数numRows,生成杨辉三角的前numRows行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/pascals-triangle 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 结...

lingjinyue的博客 326

解题思路-LeetCode第118题:杨辉三角

解题思路-LeetCode第118题:杨辉三角 题目描述: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] 解题思路: 函数返回一个二维数组,returnSize是指向一个整数的指针,返回杨辉三角的行数,returnColumnSizes是指向一个数组的指针,其元素值为每一行元素的个数,

weixin_48153141的博客 267
上一篇: leetcode-第9题-回文数
下一篇: leetcode-第70题-爬楼梯
97牛肉面
博客等级 码龄9年 54粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值