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

[算法训练] LeetCode Hot100 学习笔记#20

DAY20 2026.04.08

LeetCode84 柱状图中最大的矩形 [单调栈]

​ 找左右第一个更小的元素,单调栈从栈顶到栈底递减。栈顶和栈顶的下一个元素以及要入栈的三个元素组成了要求的最大面积的高度和宽度

​ heights数组末尾要加零,是因为如果数组本身升序,入栈后一定都是单调递减,一直没有计算结果,结尾加个0就会让栈内所有元素进入计算结果的情况

​ heights数组开头也要加0,是因为如果数组本身降序,例如[8,6,4,2],在8入栈后,6开始与8比较,此时得到mid(8),right(6),但是得不到left。因为此时把mid(8)弹出了,栈内没有元素,为了避免空栈取值会跳过计算结果的逻辑,之后又将6入栈,周而复始

LeetCode207 课程表 [图论、DFS]

​ 题目意思是给你一个有向图,判断图中是否含有环

​ 核心解题思路是,如果在递归过程中发现下一个节点在递归栈中(正在访问中),则找到了环。此处参考灵神的DFS三色标记法

对于每个节点x,都定义三种状态:

  • 0:节点x还没被访问到
  • 1:节点x正在访问中(正在递归处理节点x以及它的后续节点),dfs(x)尚未结束
  • 2:节点x已经完全访问完毕。这也说明从x出发找不到环,所以当我们遇到状态值为2的节点x时,无需递归x

解题流程:

  1. 根据先修课程数组,构建有向图
  2. 创建颜色数组colors,长度为课程数量
  3. 遍历colors数组,如果colors[i]=0,则调用递归函数dfs(i)
  4. 执行dfs(x):
    • 首先标记colors[x] = 1,表示节点x正在访问中
    • 然后遍历x的邻居y。如果colors[y] = 1,则找到环,返回true;如果colors[y] = 0且dfs(y)返回了true,则dfs(x)也返回true
    • 如果没找到环,那么先标记colors[x] = 2,表示x已经完全访问完毕,没找到环,然后返回false
  5. 如果dfs(i)返回true,那么找到了环,则说明课表有问题
  6. 如果遍历完所有节点也没找到环,则说明课表可行
http://www.jsqmd.com/news/790711/

相关文章:

  • 长期使用Taotoken的Token Plan套餐在成本控制上的实际感受
  • 2026长沙婚纱摄影性价比排名:不同预算怎么选最划算? - 江湖评测
  • 告别配置焦虑:手把手教你用Intel MPI在Visual Studio 2019里跑通第一个Fortran并行程序
  • MockGPS虚拟定位技术深度解析:Android位置模拟的完整解决方案
  • WPS-Zotero插件:如何在3分钟内完成学术论文的文献引用管理?
  • 终极指南:如何用LizzieYzy围棋AI分析工具提升棋艺水平
  • 长沙婚纱摄影品牌深度评测2026:波西米亚、卡奇视觉、远景哪家好? - charlieruizvin
  • 2026权威报告揭秘:济南婚纱摄影排名出炉,服务好的品牌究竟哪家强 - 江湖评测
  • 桥接 Mdix DialogHost 与 Prism DialogService 的一次尝试 - logic
  • Hermes Agent 自定义提供商配置接入 Taotoken 详细指南
  • 2026年5月最新雷达官方售后网点核验报告(含迁址新开)实地考察・多方验证 - 亨得利官方服务中心
  • 5分钟掌握开源像素艺术编辑器:Pixelorama智能精灵图切割完整指南
  • 网盘直链下载助手:终极免费开源工具实现多平台高速下载
  • ngx_unix_recv
  • 2026年5月最新劳力士官方售后网点核验报告(含迁址新开)实地考察・多方验证 - 亨得利官方服务中心
  • 独立开发者如何通过Taotoken Token Plan有效控制月度AI支出
  • agent-skills:给 AI 编程 Agent 装上高级工程师的工程能力
  • 如何在Taotoken模型广场下载模型列表并完成选型与测试
  • KeyboardChatterBlocker:Windows键盘连击问题的终极免费开源解决方案
  • 2026年南京婚纱摄影哪家好?基于平台真实评价数据的机构口碑测评 - charlieruizvin
  • 郑州婚纱照外景地怎么选?2026四季外景攻略+机构推荐 - 江湖评测
  • 微信聊天记录永久保存完整指南:3步掌握数据自主权
  • 零代码AI翻唱制作指南:用AICoverGen让任何声音唱任何歌
  • 如何高效使用VideoDownloadHelper:3分钟免费安装Chrome视频下载扩展完整指南
  • 2026 年 NC 程序管理软件选型:为何优选南京万化智造科技有限公司(Concreate) - 小艾信息发布
  • 【紧急更新】大会主入口周边道路封闭预案(8月15日起执行),3套替代路线已通过交管局备案
  • 2026汕头必喝奶茶店:这3杯本地人私藏最好喝 - 速递信息
  • 别再死磕官方例程了!用STM32CubeMX+DWM1000实现TWR测距,我踩过的坑都帮你填好了
  • CARAMEL架构:嵌入式系统控制流审计的硬件优化方案
  • 如何永久保存微信聊天记录?WeChatMsg本地化解决方案完整指南