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

力扣HOT100(41)动态规划-杨辉三角

一、题目核心规律(一句话讲透)

杨辉三角里,除了每行最左边和最右边的 1,中间的每个数,都等于它「左上方的数 + 正上方的数」。

对应数组下标就是:

i行第j个数 = 第i-1行第j-1个数 + 第i-1行第j个数

举个例子:

  • 第 3 行(下标 2)的中间数2= 第 2 行(下标 1)的1(j-1=0) + 第 2 行的1(j=1)
  • 第 4 行(下标 3)的3= 第 3 行的1(j-1=0) + 第 3 行的2(j=1)

二、先记两个必背的基础性质(和代码直接相关)

  1. i行(从 0 开始数)有i+1个数
    • 第 0 行(第一行):1 个数 →[1]
    • 第 1 行(第二行):2 个数 →[1,1]
    • 第 2 行(第三行):3 个数 →[1,2,1]
  2. 每行的第一个数和最后一个数,永远是 1
    • 不管哪一行,ret[i][0] = 1ret[i][i] = 1

完整解题步骤

我们的目标是生成前numRows行,所以思路很直接:一行一行生成,用上一行的结果算当前行

  1. 初始化结果数组:创建一个二维数组ret,大小为numRows
  2. 遍历每一行:从第 0 行到第numRows-1
  3. 初始化当前行
    • 给当前行分配i+1个空间(因为第 i 行有 i+1 个数)
    • 把当前行的第一个和最后一个元素设为 1
  4. 计算当前行中间的数
    • 从第 1 个位置到第i-1个位置(首尾已经是 1 了,不用算)
    • 每个位置的值 = 上一行的j-1位置 + 上一行的j位置
  5. 所有行生成完毕,返回结果数组
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int>> ret(numRows); for(int i=0;i<numRows;i++){ //遍历每一行. //给这个一维数组开辟出 k 个格子,准备好位置放数据。 ret[i].resize(i+1); //先把头和尾变成1 ret[i][0] = ret[i][i] = 1; //其他位置 for(int j=1;j<i;j++){ ret[i][j] = ret[i-1][j] + ret[i-1][j-1]; } } return ret; } };
http://www.jsqmd.com/news/911254/

相关文章:

  • 保姆级教程:手把手修复Win7的OneDrive登录错误0x8004de40(附注册表文件下载)
  • AI救场!技术文档+工作汇报高效写,告别熬夜赶稿
  • FPGA入门实战:从Verilog到软核CPU的硬件系统构建
  • 深度解析抖音批量下载架构:从无水印解析到智能资源管理
  • KMS_VL_ALL_AIO:揭秘Windows与Office智能激活的终极方案
  • 2026年临沂黄金回收最强严选:经7项硬指标过滤的6家靠谱机构 - 天天生活分享日志
  • Yi-1.5-9B聊天模型深度体验:如何构建高效对话系统
  • HS2-HF_Patch:Honey Select 2终极增强补丁,一键解锁完整游戏体验
  • 2026温州卫生间漏水怎么办?免砸砖防水维修、阳台、外墙、屋顶、地下室漏水正规维修避坑指南 - 吉修匠
  • 条码防重防错防漏防呆:工业数据采集的全链路风控技术方案
  • 【Claude情感曲线分析权威报告】:2024年最新3大情感偏移模型验证与企业级调优指南
  • 终极指南:如何彻底解决ComfyUI ControlNet Aux预处理节点失效问题
  • JoyCon-Driver:免费解锁Switch手柄在Windows电脑的完整潜力
  • 5分钟掌握Fooocus:AI绘图神器快速入门指南 [特殊字符]
  • 别再让Latch坑了你的FPGA时序!Verilog新手必看的5个真实踩坑案例与修复指南
  • 让老旧视频重获新生:Video2X 视频画质修复完全指南
  • 2026 银行信贷数字化升级:摆脱手动数据录入,AI Agent智能构建合规全流程
  • 矩阵系统在企业数字化获客中的实践与价值分析
  • 2026装修公司整装交付能力排行:全案定制精装与标准全包对比 - 博客万
  • 【浙江大学】DeepSeek的突破边界与浙大先生的未来图景
  • 300+ RPG Maker MV/MZ插件:打造专业级游戏的终极工具箱
  • PCB逆向工程实战:从物理板到Gerber文件的完整流程与避坑指南
  • 基于RP2040的PICO-56复古计算机套件:从硬件组装到8位系统编程实践
  • 2026五月精选:南山靠谱的木架定制公司找哪家 - LYL仔仔
  • OBS StreamFX插件完整指南:5大核心功能打造专业级直播效果
  • Kubernetes RBAC最佳实践:构建安全的访问控制体系
  • 2026年实力派关务系统推荐榜:市场主流品牌实力多维度解析
  • Lindy玩家如何用自动化把首次响应时间压至8.3秒?——独家披露2024 Q2已投产的AI工单分流引擎
  • 如何快速掌握图像分割:U-Net模型的完整实战指南
  • 别再折腾了!Windows 10/11 一键搞定 RocketMQ 4.8.0 与控制台(含常见启动报错解决)