当前位置: 首页 > news >正文

【LeetCode】118.杨辉三角

题目

要求:给定非负整数numRows,生成杨辉三角的前numRows行;
每个数等于它左上方和右上方的数之和。
示例:numRows=5输出[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

思路:按行迭代

  • 先创建二维列表pascalTriangle用来存所有行。
  • 手动初始化第 1 行:新建row0=[1],加入pascalTriangle
  • 从第 2 行开始用for (i=1; i<numRows; i++)逐行生成(i是行下标):
    • 首:手动add(1)
    • 中间:上一行第j个元素 + 上一行第(j-1)个元素
    • 尾:手动add(1)

补充:这份写法默认numRows>=1,否则会先加第一行导致结果不符合题意。需要在开头加if (numRows==0) return new ArrayList<>();

https://leetcode.cn/problems/pascals-triangle/description/

code

classSolution{publicList<List<Integer>>generate(intnumRows){// 用来存放最终结果:杨辉三角的每一行都是一个 List<Integer>List<List<Integer>>pascalTriangle=newArrayList<>();// 第 1 行(下标 0):固定为 [1]List<Integer>row0=newArrayList<>();row0.add(1);pascalTriangle.add(row0);// 从第 2 行开始生成(i 表示行下标:1 -> 第2行,2 -> 第3行 ...)for(inti=1;i<numRows;i++){List<Integer>tmpRow=newArrayList<>();// 每一行的第 1 个元素固定是 1tmpRow.add(1);// 取出上一行,用来计算当前行的中间元素List<Integer>preRow=pascalTriangle.get(i-1);// 计算中间元素:// 当前行第 j 个元素 = 上一行第 j 个元素 + 上一行第 (j-1) 个元素// j 从 1 到 i-1(不包含两侧的 1)for(intj=1;j<i;j++){tmpRow.add(preRow.get(j)+preRow.get(j-1));}// 每一行的最后 1 个元素固定是 1tmpRow.add(1);// 把当前行加入结果pascalTriangle.add(tmpRow);}// 返回完整的杨辉三角returnpascalTriangle;}}

补充:这段代码默认numRows >= 1;如果可能传入0,需要在开头加判断直接返回空列表。

http://www.jsqmd.com/news/561923/

相关文章:

  • ncmdumpGUI:如何突破网易云音乐加密限制实现跨设备自由播放
  • 3大核心功能解锁虚幻引擎游戏深度定制:UE4SS实战指南
  • STM32H750VBT6网络实战:CubeIDE+FreeRTOS+LWIP保姆级配置,从零搞定LAN8720A以太网通信
  • KinhDown:突破百度网盘限速的效率革命
  • DaemonSet节点管理:实现Kubernetes集群自动化运维
  • 在语音对话中,OpenClaw 的语音识别是否支持个性化声学模型?
  • 3D NAND技术演进图解:从浮栅极到232层堆叠,国产颗粒如何突破层数极限
  • 别再手动敲命令了!CentOS 7下一键脚本部署Nacos 2.5单机版(附安全加固指南)
  • 别再死记硬背了!用CNN Explainer可视化工具,5分钟搞懂Vitis AI DPU的并行度原理
  • 5分钟掌握MPC Video Renderer:解锁专业级HDR视频渲染的完整解决方案
  • Phi-4-Reasoning-Vision开源镜像:支持企业私有化部署的多模态推理底座
  • 英语文化差异口语
  • OpenClaw 的模型训练中,是否使用了对抗性训练?如何生成对抗样本?
  • 英雄联盟效率倍增:League-Toolkit的5大核心功能革新游戏体验
  • 2026年蒂美旅游官方联系方式公示,新疆品质旅游服务合作便捷入口 - 第三方测评
  • 中兴光猫管理利器:zteOnu工具全方位应用指南
  • 2026-3-29 赛后总结 - Rye
  • 文墨共鸣企业内训系统搭建:基于AI的个性化学习路径与技能评估
  • OpCore Simplify:四步搞定黑苹果EFI配置,让复杂技术变得简单
  • 从TAP-Vid到TAPIR:手把手教你用TAP-Net复现视频点跟踪基准实验
  • 蠕动泵(solidworks)
  • MouseTester实战指南:重新定义你的鼠标性能认知
  • 2026年上海品牌战略定位公司哪家好,上海品牌战略咨询推荐怎么选? - 资讯焦点
  • 2026-03-25 赛后总结 - Rye
  • 自动缝纫机SolidWorks
  • 英语习俗禁忌口语
  • CoPaw多语言翻译与本地化效果展示:技术文档与商务信函
  • Using Vulkan -- Mapping Data to Shaders --Descriptor Heap
  • 主管药师哪个题库值得入手?2026最新高性价比实测口碑榜 - 资讯焦点
  • 对于对话中的文本生成,OpenClaw 的事实一致性校验机制?