【动态规划】LC 118.杨辉三角
文章目录前言一、题目1、原题链接2、题目描述二、个人思路整理1、思路分析2、解题代码三、知识风暴前言本专栏文章为《LeetCode 热题 100》的刷题题解相关内容如有侵权立即删除。一、题目1、原题链接118.杨辉三角2、题目描述二、个人思路整理1、思路分析dp[i][j]代表杨辉三角第i行第j列的元素值下标均从0开始。状态转移方程每一行的首尾两端均为1即dp[i][0]1dp[i][i]1。对于行内的中间元素0ji其值等于上一行相邻两个元素之和即dp[i][j]dp[i-1][j-1]dp[i-1][j]。复杂度分析时间复杂度O ( numRows 2 ) O(\text{numRows}^2)O(numRows2)一共需要计算1 2 ⋯ numRows numRows ( numRows 1 ) 2 1 2 \dots \text{numRows} \frac{\text{numRows}(\text{numRows} 1)}{2}12⋯numRows2numRows(numRows1)​个数字。空间复杂度O ( 1 ) O(1)O(1)返回值所需的存储空间除外。2、解题代码classSolution{public:vectorvectorintgenerate(intnumRows){vectorvectorintdp(numRows);//开辟含numRows个空vector的dp数组for(inti0;inumRows;i){dp[i].resize(i1,1);// 第i行有i1个元素先全部初始化为1for(intj1;ji;j){// 中间元素等于上一行相邻两数之和dp[i][j]dp[i-1][j-1]dp[i-1][j];}}returndp;}};三、知识风暴vector赋值vectorint dp(n, val);有参构造函数分配n个元素的内存空间并将每个元素都初始化为val如果省略第二个参数如vectorint dp(n);默认会用类型的默认值填充对于int就是0 00。dp.resize(n, val)成员方法用于调整一个已经存在的vector的大小改变其size()。行为规则当n 当前 size n \text{当前 size}n当前size数组扩容到n nn多出来的那些新元素会被赋值为val若省略val则为0 00。当n 当前 size n \text{当前 size}n当前size数组截断到前n nn个元素超出部分被直接丢弃。当n 当前 size n \text{当前 size}n当前size什么也不做原有元素的值保持不变。vectorvectorint dp(n)会创建n nn个vectorint每个vectorint调用其默认构造函数当vectorint被默认初始化时默认构造函数vectorint()产生的是一个size 0的空动态数组。

相关新闻

机器人开发核心技术:从ROS 2环境搭建到感知-决策-控制闭环实践

机器人开发核心技术:从ROS 2环境搭建到感知-决策-控制闭环实践

最近在技术圈看到一个很有意思的讨论:一位清华计算机博士的职业选择,引发了大家对技术人发展路径的思考。这让我联想到,我们开发者日常也常常面临类似的抉择:是深耕大厂成熟业务,还是投身新兴领域从零开始?…

2026/8/16 8:15:40 阅读更多 →
Win10下nvm-windows安装与Node.js多版本管理全攻略

Win10下nvm-windows安装与Node.js多版本管理全攻略

1. 项目概述:为什么在Win10上需要nvm来管理Node.js?如果你在Win10上搞前端或者Node.js后端开发,肯定遇到过版本问题。项目A需要Node.js 14,项目B又要求18,难道要反复卸载重装?或者更糟的是,全局…

2026/8/16 8:15:40 阅读更多 →
智能语义检索与AI辅助文献调研:WorkBuddy CNKI技能实战指南

智能语义检索与AI辅助文献调研:WorkBuddy CNKI技能实战指南

1. 从“大海捞针”到“精准定位”:为什么我们需要一个更聪明的文献检索方式如果你也经常需要查阅学术文献,无论是为了写论文、做项目还是追踪行业动态,那你一定对“文献检索”这四个字又爱又恨。爱的是,它为我们打开了知识的宝库&…

2026/8/16 8:14:40 阅读更多 →

最新新闻

麒麟系统离线静默安装MySQL 5.7.43全攻略

麒麟系统离线静默安装MySQL 5.7.43全攻略

1. 项目概述与核心需求解析 最近在给一个部署在国产麒麟系统上的内部业务系统做数据库升级,客户现场环境是严格的内网隔离,服务器连不上外网,系统版本是银河麒麟V10(具体是 4.19.90-24.4.v2101.ky10.x86_64 )。需求很…

2026/8/16 8:50:55 阅读更多 →
C++质数筛算法详解:从埃氏筛到欧拉筛的实战指南

C++质数筛算法详解:从埃氏筛到欧拉筛的实战指南

1. 从“暴力枚举”到“筛法”:为什么我们需要质数筛? 刚接触C编程,尤其是开始刷一些算法题时,质数判断和生成几乎是绕不开的坎。很多新手的第一反应是:判断一个数n是不是质数,那还不简单?从2循环…

2026/8/16 8:50:55 阅读更多 →
STM32 USART 标准库完全指南——从串口发送到Printf重定向

STM32 USART 标准库完全指南——从串口发送到Printf重定向

写在最前:为什么是USART?如果说GPIO是STM32的"手脚",那USART就是它的"嘴巴和耳朵"——USART让单片机能够"说话"和"倾听"。USART(Universal Synchronous Asynchronous Receiver Transmitt…

2026/8/16 8:50:55 阅读更多 →
Qwen3.8-Max法律大模型本地部署指南:从环境搭建到批量任务处理

Qwen3.8-Max法律大模型本地部署指南:从环境搭建到批量任务处理

这次我们来看一个法律领域的大模型评测结果。Qwen3.8-Max 在最新的法律评测中排名升至第四,这个成绩背后,是通义千问团队在专业领域模型能力上的又一次重要迭代。对于开发者、法律科技从业者,或者任何需要在本地部署一个具备强大法律推理和文…

2026/8/16 8:50:55 阅读更多 →
MySQL 联合索引失效:检查类型转换与最左前缀

MySQL 联合索引失效:检查类型转换与最左前缀

MySQL 联合索引失效:检查类型转换与最左前缀 联合索引看似命中却依旧慢时,先检查列类型、隐式转换和最左前缀。EXPLAIN 只描述优化器计划,还要结合实际扫描行数与慢日志判断。 1. 查询变慢时,先核对执行计划与索引条件 排查时可先…

2026/8/16 8:50:55 阅读更多 →
C++哈希表深度解析:从STL原理到LeetCode实战优化

C++哈希表深度解析:从STL原理到LeetCode实战优化

1. 从“查字典”到“秒级查找”:哈希表的核心价值 如果你写过C,或者刷过LeetCode,肯定对“哈希表”这个词不陌生。它就像一个超级智能的字典,你告诉它一个“词条”(键),它能瞬间告诉你这个词条对…

2026/8/16 8:49:55 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →