代码随想录刷题大纲与清单

🧠 AI 学习助手提示词 (Prompt)

在学习某个具体算法板块时,可以将以下 Prompt 发送给 AI 模型:

请系统且全面地讲解 **[此处填入算法名称,如:并查集]**。
要求:
1. **核心概念**:用通俗易懂的语言解释该算法的定义及核心思想。
2. **典型问题**:列举该算法解决的经典场景(如连通性判断、最小生成树等)。
3. **通用模板**:提供该算法的标准化代码模板(推荐 C++ 或 Python)。
4. **经典实战**:结合 1-2 道 LeetCode 或卡码网真题进行步骤拆解和演示。
5. **学习建议**:给出学习该算法的难点、坑点以及刷题顺序建议。

📚 第一部分:基础数据结构

1. 数组 (Array) 7题

关键词:二分查找、双指针、滑动窗口、螺旋矩阵

  • 题目列表704 二分查找、27 移除元素、977 有序数组的平方、209 长度最小的子数组、59 螺旋矩阵II
  • 卡码网(ACM模式)km58 区间和、km44 开发商购买土地

2. 链表 (Linked List) 7题

关键词:虚拟头结点、指针操作、环形链表

  • 题目列表203 移除链表元素、707 设计链表、206 反转链表、24 两两交换链表中的节点、19 删除链表的倒数第 N 个结点、160 相交链表、142 环形链表II

3. 哈希表 (Hash Table) 8题

关键词:数组哈希、Set、Map、去重与映射

  • 题目列表242 有效的字母异位词、349 两个数组的交集、202 快乐数、1 两数之和、454 四数相加II、383 赎金信、15 三数之和、18 四数之和

4. 字符串 (String) 7题

关键词:反转、KMP算法、替换

  • 题目列表344 反转字符串、541 反转字符串II、151 反转字符串中的单词、28 找出字符串中第一个匹配项的下标(KMP)、459 重复的子字符串
  • 卡码网km54 替换数字、km55 右旋字符串

5. 栈与队列 (Stack & Queue) 7题

关键词:适配器模式、括号匹配、逆波兰、滑动窗口、前 K 高频

  • 题目列表232 用栈实现队列、225 用队列实现栈、20 有效的括号、1047 删除字符串中的所有相邻重复项、150 逆波兰表达式求值、239 滑动窗口最大值、347 前 K 个高频元素

🛠 第二部分:核心算法专题

6. 二叉树 (Binary Tree) 28题

  • 遍历方式144 前序、145 后序、94 中序、102 层序遍历
  • 树的属性101 对称二叉树、104 最大深度、111 最小深度、222 节点个数、110 平衡二叉树、257 所有路径、404 左叶子之和、513 找树左下角的值、112 路径总和
  • 修改与构造226 翻转二叉树、106 中后序构造、654 最大二叉树、617 合并二叉树
  • 二叉搜索树(BST)700 搜索、98 验证、530 最小绝对差、501 众数、538 转累加树、701 插入、450 删除、669 修剪、108 有序数组转BST
  • 公共祖先236 二叉树的LCA、235 BST的LCA

7. 回溯算法 (Backtracking) 15题

  • 组合问题77 组合、216 组合总和III、17 电话号码、39 组合总和、40 组合总和II
  • 分割/子集131 分割回文串、93 复原IP地址、78 子集、90 子集II
  • 排列/棋盘491 递增子序列、46 全排列、47 全排列II、332 重新安排行程、51 N皇后、37 解数独

8. 贪心算法 (Greedy) 17题

  • 基础与序列455 分发饼干、376 摆动序列、53 最大子序和、122 买卖股票II、55 跳跃游戏、45 跳跃游戏II、1005 K次取反、134 加油站、135 分发糖果、860 柠檬水找零、406 根据身高重建队列
  • 区间与其它452 引爆气球、435 无重叠区间、763 划分字母区间、56 合并区间、738 单调递增的数字、968 监控二叉树

9. 动态规划 (DP) 37题

  • 基础 DP509 斐波那契、70 爬楼梯、746 最小花费爬楼梯、62 不同路径、63 不同路径II、343 整数拆分、96 不同的二叉搜索树
  • 背包问题416 分割等和子集、1049 最后一块石头II、494 目标和、474 一和零、518 零钱兑换II、377 组合总和IV、322 零钱兑换、279 完全平方数、139 单词拆分
  • 打家劫舍198 打家劫舍、213 打家劫舍II、337 打家劫舍III
  • 股票买卖121 买卖I、122 买卖II、123 买卖III、188 买卖IV、309 含冷冻期、714 含手续费
  • 子序列300 最长递增子序列、1143 最长公共子序列、1035 不相交的线、674 最长连续递增序列、718 最长重复子数组、53 最大子序和、392 判断子序列、115 不同的子序列、583 两个字符串删除、72 编辑距离、647 回文子串、516 最长回文子序列

🧠 第三部分:进阶技巧与总结

10. 单调栈 (Monotonic Stack) 5题

  • 题目列表739 每日温度、496 下一个更大元素I、503 下一个更大元素II、42 接雨水、84 柱状图中最大的矩形

11. 双指针总结 (Two Pointers)

  • 题目列表27 移除元素、344 反转字符串、km54 替换数字、151 反转单词、206 反转链表、19 删除倒数第N个、160 相交链表、142 环形链表II、15 三数之和、18 四数之和

补充26 删除有序数组重复项、283 移动零、844 比较含退格字符串、977 有序数组平方

12. 图论 (Graph Theory) 25题

说明:此章节题目均在 卡码网 (KamaCoder) 上进行训练,题目 ID 以 km 开头。

  • 深搜与广搜km98 所有可达路径、km99 岛屿数量、km100 岛屿的最大面积、km101 孤岛的总面积、km102 沉没孤岛、km103 水流问题、km104 建造最大岛屿、km105 有向图的完全可达性、km106 岛屿的周长、km110 字符串接龙
  • 并查集km107 寻找存在的路径、km108 冗余连接、km109 冗余连接II
  • 最小生成树km53 寻宝 (Prim算法/Kruskal算法)
  • 拓扑排序km117 软件构建
  • 最短路算法km47 参加科学大会 (Dijkstra朴素)、km94 城市间货物运输I (Bellman_ford)、km95 城市间货物运输II (SPFA)、km96 城市间货物运输III (Bellman_ford判断负权回路)、km97 小明逛公园 (Floyd)、km127 骑士的攻击 (A*算法)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐