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

2026秋招Leetcode刷题记录

2025秋招刷题记录

  • 数据结构
    • 数组 ✅ 2025/9/4
  • 链表
    • 队列
    • 哈希表 ✅ 2025/8/19
      • 二叉树
      • 二叉搜索树(BST)
      • 平衡树(AVL / 红黑树)
  • 算法
    • 查找
    • 排序 ✅ 2025/8/18
    • 贪心
    • 动态规划

数据结构

数组 ✅ 2025/9/4

常见考点:前缀和(区间和查询)、差分数组(批量区间修改)、二分查找(变种:找插入位置、旋转数组找最小值)、指针(三数之和、移除元素)、滑动窗口(子数组最大和、最长无重复子串)、多维数组

  1. 指针:
  • Leetcode 283. 移动零 指针
  • Leetcode 11. 盛最多水的容器 双指针
  • Leetcode 15. 三数之和 排序+双指针
  • Leetcode 42. 接雨水 经典面试题 双指针/动态规划

2. 滑动窗口

  • Leetcode 3. 无重复字符的最长子串 滑动窗口 2024重做
  • Leetcode 438. 找到字符串中所有字母异位词

3.普通数组

  • Leetcode 56. 合并区间 贪心
  • Leetcode 189. 轮转数组
  • Leetcode 238. 除自身以外数组的乘积
  • Leetcode 41. 缺失的第一个正数 哈希

4. 二维数组(矩阵)

  • Leetcode 73. 矩阵置零
  • Leetcode 54. 螺旋矩阵
  • Leetcode 48. 旋转图像
  • Leetcode 240. 搜索二维矩阵 II 矩阵 / 二分

链表

常见考点:反转链表(全反转、部分反转)、环检测与入口查找(快慢指针)、删除倒数第 k 个节点、合并有序链表(递归 / 迭代)

  • Leetcode 160. 相交链表 指针
  • Leetcode 206. 反转链表 迭代/递归
  • Leetcode 876. 链表的中间结点 快慢指针
  • Leetcode 234. 回文链表
  • Leetcode 141. 环形链表 快慢指针
  • Leetcode 142. 环形链表 II 快慢指针
  • Leetcode 21. 合并两个有序链表 (递归 / 迭代)
  • Leetcode 2. 两数相加 链表
  • Leetcode 19. 删除链表的倒数第 N 个结点 链表

常见考点:括号匹配、逆波兰表达式求值、单调栈

队列

常见考点:滑动窗口最大值(单调队列)、用栈实现队列(双栈模拟)

哈希表 ✅ 2025/8/19

常见考点:两数之和、数组交集、有效的字母异位词(计数哈希)、LRU 缓存(哈希表 + 双向链表,O (1) 读写)、哈希冲突处理(链地址法 vs 开放寻址法)

  • Leecode 1.两数之和 O(n)解法 哈希
  • Leecode 49. 字母异位词分组
  • Leetcode 128. 最长连续序列 哈希

二叉树

常见考点:前 / 中 / 后序遍历(递归 + 迭代实现)、层序遍历(BFS)、从前序 + 中序、后序 + 中序还原二叉树、对称二叉树、平衡二叉树判断、二叉树直径 / 深度计算

二叉搜索树(BST)

常见考点:查找、插入、删除(按中序遍历有序特性)、验证 BST 合法性、找第 k 小元素、最近公共祖先(LCA)

平衡树(AVL / 红黑树)

常见考点:

  • AVL 树:平衡因子(左右子树高度差≤1)、旋转操作(LL/LR/RR/RL)
  • 红黑树:5 条核心性质(根黑、叶黑、红节点子黑、路径黑节点数相同)、插入删除修复。

常见考点:

  • DFS(路径搜索、连通分量)、BFS(最短路径、层次遍历)
  • Dijkstra(单源最短路径,堆优化)、Floyd(多源最短路径,动态规划)
  • 拓扑排序(判断有向图环、课程表问题)
  • 并查集(朋友圈、岛屿数量,路径压缩 + 按秩合并优化)

算法

查找

  • 二分查找:变种(找左 / 右边界、旋转数组搜索)、非数组场景(平方根计算、山脉数组峰值)。
    DFS/BFS:
  • DFS:回溯法(子集、排列、组合总和)、记忆化剪枝。
  • BFS:最短路径(无权图)、层次遍历(树 / 图的层级访问)。

排序 ✅ 2025/8/18

参考:【算法】经典排序算法介绍+代码示例

  • 冒泡排序: 通过重复遍历待排序序列,比较相邻元素并根据他们的小大交换他们,小的在前大的最后,最后使较大的元素逐渐“冒泡”到序列的末尾
  • 选择排序: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
  • 插入排序: 将待排序元素插入到已排序序列的适当位置,类似于扑克牌整理
  • 希尔排序: 希尔排序(Shell Sort)是插入排序的变种,它是针对直接插入排序算法的改进,又称缩小增量法,是第一个突破O(n²)的排序算法,将整个待排序序列按一定间隔分组,分割成若干个子序列,对每个子序列进行插入排序,然后逐步缩小间隔直至1,直至整个序列有序。
  • 归并排序: 一种基于分治法​的高效排序算法,它的核心思想是将待排序的数组不断二分,递归地对每个子数组进行排序,最后将两个已排序的子数组合并成一个有序的整体
  • 快速排序: 一种基于分治法​的高效排序算法,它的核心思想是选择一个基准,将待排序的数组根据基准不断分割成独立的两部分(左和右),使得左部元素均小于等于基准、右部均大于等于基准,递归地对每个子部分进行排序,以达到整个序列有序
  • 计数排序: 计数排序是一种非比较型排序算法,它利用额外的空间来记录每个元素出现的次数,核心思想是将输入的数据值转化为键存储在额外开辟的数组空间a中,键为元素,值为出现的次数,遍历该数组a即可得到排序数组。计数排序是线性时间复杂度的排序,适用于一定范围内的整数排序,尤其是当数据范围较小时,其效率非常高。
  • 桶排序: 桶排序(Bucket Sort)是一种分配式排序算法,适用于数据分布均匀且范围已知的情况。它的核心思想是将待排序的数据分到有限数量的桶中,每个桶内的数据单独排序,最后将所有桶中的数据合并得到有序序列。
  • 堆排序:

贪心

  • 区间调度(最多不重叠区间、用最少箭头射爆气球)。
  • 哈夫曼编码(最优前缀码,贪心选择最小权重合并)。
  • 零钱兑换(当硬币为特定面额时,如美元硬币,可用贪心)。

动态规划

  • 背包问题(0-1 背包、完全背包,状态转移方程)。
  • 字符串问题(最长公共子序列 LCS、编辑距离)。
  • 数组问题(最长递增子序列 LIS、最大子数组和)。

1. 基础题目

  • Leecode 70. 爬楼梯 DP/矩阵快速幂
  • Leetcode 746. 使用最小花费爬楼梯
  • Leetcode 343. 整数拆分 动态规划
  • Leetcode 96. 不同的二叉搜索树 动态规划
  • Leetcode 62. 不同路径 动态规划+空间优化
  • Leetcode 63. 不同路径 II 动态规划

2. 背包问题

动态规划之背包问题详细介绍(0-1背包,完全背包)

0-1背包:

  • Leetcode 416. 分割等和子集 (动态规划-01背包问题)
  • Leetcode 1049. 最后一块石头的重量 II 动态规划-01背包
  • Leetcode 494. 目标和 动态规划-01背包
  • Leetcode 474. 一和零 动态规划 01背包问题

完全背包:

  • Leetcode 139. 单词拆分 动态规划
  • Leetcode 279. 完全平方数 动态规划 完全背包问题
  • Leetcode 322. 零钱兑换 动态规划
  • Leetcode 518. 零钱兑换 II 动态规划
  • Leetcode 377. 组合总和 Ⅳ 动态规划

3. 子序列问题:

回文:

  • Leetcode 647. 回文子串 动态规划
  • Leetcode 5. 最长回文子串 经典动态规划
  • Leetocde516. 最长回文子序列 动态规划

子序列 / 子数组:

  • Leetcode 53. 最大子数组和 经典dp
  • Leetcode 1143. 最长公共子序列 经典DP
  • Leetcode 300. 最长递增子序列 动态规划 / 贪心 + 二分查找(待补充)

编辑距离:

  • Leetcode 72. 编辑距离 动态规划

4. 打家劫舍:

  • Leetcode 198. 打家劫舍 动态规划
  • Leetcode 213. 打家劫舍 II 动态规划

5. 股票问题:

6. 其他问题

  • Leetcode 152. 乘积最大子数组 DP
  • Leetcode 32. 最长有效括号 栈/动态规划/计数器

文章转载自:

http://S3doBCge.gLnwL.cn
http://qm06L2Eh.gLnwL.cn
http://S0YZAHCa.gLnwL.cn
http://XMqSQU4a.gLnwL.cn
http://6bs4LoVi.gLnwL.cn
http://k4VzXpF8.gLnwL.cn
http://BdMaZoLt.gLnwL.cn
http://QoSzal2Q.gLnwL.cn
http://uDqotOA5.gLnwL.cn
http://qpyX20mZ.gLnwL.cn
http://lTGJfoLC.gLnwL.cn
http://9NgZcIh3.gLnwL.cn
http://7XonIlOB.gLnwL.cn
http://l8qcbPJc.gLnwL.cn
http://IU1Q7p8X.gLnwL.cn
http://eELLovUr.gLnwL.cn
http://2aXa5gA5.gLnwL.cn
http://DDugLroW.gLnwL.cn
http://Ezx9nts7.gLnwL.cn
http://IH30P34K.gLnwL.cn
http://yd1eoEGT.gLnwL.cn
http://wQnqInuK.gLnwL.cn
http://IMhyg3GE.gLnwL.cn
http://7y9NkbzL.gLnwL.cn
http://SoxTuPE2.gLnwL.cn
http://9tpe7QOq.gLnwL.cn
http://iHJwKUtr.gLnwL.cn
http://6lCHygaB.gLnwL.cn
http://WKAAI7wo.gLnwL.cn
http://Ro2tDFrC.gLnwL.cn
http://www.dtcms.com/a/369575.html

相关文章:

  • 探讨Xsens在人形机器人研发中的四个核心应用
  • [特殊字符] 香蕉超市|Nano Bananary|ZHO|已开源
  • 一种基于注解与AOP的Spring Boot接口限流防刷方案
  • 新启航开启深孔测量新纪元:激光频率梳技术攻克光学遮挡,达 130mm 深度 2μm 精度
  • ZyperWin++一个超好用的工具
  • 共用体与枚举:C++高效内存技巧
  • Semi-Supervised 3-D Medical
  • 解决网络太慢问题
  • IP5326_BZ 支持C同口输入输出的移动电源芯片 2.4A的充放电电流 支持4LED指示灯
  • 如何通过 Gitee API 上传文件到指定仓库
  • 商密保护密码:非公知性鉴定的攻防之道
  • 从零到上线:Docker、Docker Compose 与 Runtime 安装部署全指南(含实战示例与应用场景)
  • 2025 年 8 个最佳网站内容管理系统(CMS)
  • Java中的包
  • 彻底搞懂深度学习:强化学习和智能体(动图讲解)
  • 基于STM32单片机FM调频TEA5767功放收音机液晶显示设计
  • 邪修实战系列(1)
  • 今日行情明日机会——20250905
  • MCP(Model Context Protocol)与大模型一起运用
  • 【Lin通信】AUTOSAR架构下TC3xx芯片Lin报文收发详解
  • SDRAM详细分析—06 存储单元架构和放大器
  • stm32——NVIC,EXIT
  • Leetcode每日一练--20
  • 关机之前未正确关闭代理,导致DNS出现问题无法上网的解决方法(windows和linux)
  • Linux查看设备树信息
  • *MOS 半导体功率器件简介 | 结构 / 制程 / 简史
  • @Autowired注解(二)
  • Linux基础指令(入门必备2.0)
  • 打工人日报#20250905
  • 【Leetcode】高频SQL基础题--610.判断三角形