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

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

DAY19 2026.04.05

LeetCode51 N皇后 [回溯、递归]

​ 回溯法。棋盘的宽度就是for循环的长度,递归的深度就是棋盘的高度。当row==n时,说明走到了叶子节点,收割结果

​ 判断位置是否合法:不同行、不同列、不同斜线(判断左上斜、右上斜)。每一层递归只会选for循环里的一个元素往下,所以不用判断同行情况

LeetCode4 寻找两个正序数组的中位数 [二分查找]

​ 思路一:利用额外辅助数组,将两数组按升序合并后,再找中位数

​ 思路二:二分。在nums1和nums2中分别设置i、j分割点,当nums1[i-1] <= nums2[j] 且 nums2[j-1] <= nums1[i]时,说明此时i和j左侧部分是整个的左半部分,即可找到中位

​ 分割点 i 的取值范围,这里 i 主要是表示在 nums1 中选取多少个元素到左半部分。当i = 0时,不选任何nums1的元素到左半部分 ;当i = 1时,选 nums1[0] 到左半部分;当i = m时,选所有 nums1 的元素到左半部分。因此要处理好nums1[i-1]、nums1[i]、nums2[j-1]、nums2[j]的边界情况

​ i的位置靠二分查找,j的位置由i推导而来,当nums1[i-1] > nums2[j]时,说明“绳头”过右,需要往左移动,right = i+1;当nums2[j-1] > nums1[i]时,说明“绳头”过左,需要往右移动,left = i+1

LeetCode146 LRU缓存 [链表、哈希]

​ 双向链表+哈希表。使用双向链表来存储Node,使用哈希表来保证get和put是O(1)时间复杂度。初始有头尾虚拟节点

​ int get(int key),如果关键字key存在于哈希表中,则返回关键字的值,同时将该Node删除并插入到head后;否则返回-1

​ void put(int key, int value),如果关键字key已存在于哈希表中,则将该Node删除并插入到head后;如果不存在,则头插新Node在head后,同时判断当前大小是否超过规定容量。若超过,tail前的节点删除

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

相关文章:

  • C#并行编程进阶:除了Task和Parallel,你还需要学会用PerformanceCounter做资源熔断
  • 基于STM32的高压无刷直流电机控制程序(含硬件设计与软件实现)
  • 26年春季学期学习记录第18天
  • AI小说创作中的版权与原创性问题解析
  • C# WinForm 工作流设计器:拖拽连线与可视化流程图实现解析
  • Libero Soc v11.9证书环境变量配置详解:LM_LICENSE_FILE、SNPSLMD与SYNPLCTYD一个都不能少
  • 知网维普都要过,AI率85%用哪款工具最合适
  • 0基础教你快速写自己的Agent Skills
  • ROS多机通信实战:手把手教你配置主从机(含SSH远程调试技巧)
  • Harbor集成Trivy实现镜像安全扫描:从安装到离线环境配置全指南
  • 基于Matlab的分布式电源选址定容软件:优化接入点与容量,降低网损与电压越限风险
  • OpenAPI TS工具对比:解决openapi-typescript生成的 联合类型 (Union Type),无法直接对应 Java 后端枚举的问题
  • 数据湖与数据仓库的融合:从架构到实践
  • Unity WebGL小游戏上抖音,从踩坑到上线:一份避坑指南与性能优化清单
  • UI 2026.03.26
  • 毕业党速看:这款 AI 论文神器太疯狂,输入标题直接生成万字长文
  • Python 中的正则表达式:从基础到高级应用
  • ncmdumpGUI高效使用指南:NCM文件转换完全掌握
  • 第7章 Mosquitto增加SSL/TLS加密通信
  • COMSOL热应力仿真新手入门:从零开始设置热膨胀参数(附案例解析)
  • 快速上手:如何使用Ryzen SDT调试工具轻松优化AMD处理器性能
  • GitHub中文插件终极指南:3分钟让GitHub界面全面中文化
  • 深度学习中的目标检测算法:从原理到实践
  • yolo视觉十大新手项目推荐
  • OpenClaw v2026.4.2 深度解读:插件边界继续外移,Task Flow 真正走向可持久化运维
  • Anthropic 收购 Oven 后,Claude Code 用运行时写了一篇护城河文章
  • 基于FPGA技术的QAM调制解调系统研究与实践:详细实验文档解析
  • 智能应急灯V16:多场景照明解决方案
  • Python 中的配置文件管理:从基础到高级应用
  • 2026 年 1月 24 日-KB5078127(OS内部版本26200.7628 和 26100.7628)带外