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

《算法宝典:全类型题目索引》

目录

 🌴递归、搜索与回溯

一、递归

二、二叉树中的深搜

三、穷举vs暴搜vs深搜vs回溯vs剪枝

四、综合练习

五、FloodFill 算法

六、记忆化搜索

🌵优选算法

一、双指针

二、滑动窗口

三、二分查找

四、前缀和

五、位运算

六、模拟

七、分治 - 快速排序

八、分治 - 归并排序

九、链表

十、哈希表

十一、字符串

十二、栈

十三、队列 + 宽搜(bfs)

十四、优先级队列(堆)

十五、BFS 解决 FloodFill 算法

十六、BFS 解决最短路问题

十七、多源 BFS

十八、BFS 解决拓扑排序

🌻贪心算法

🍇动态规划 

一、斐波那契数列模型

二、路径问题

三、简单多状态 dp 问题

四、子数组、子串系列

五、子序列问题

六、回文串问题

七、两个数组的 dp

八、01 背包问题

九、完全背包问题

十、二维费用的背包问题

十一、似包非包

十二、卡特兰数


未完待续……


 🌴递归、搜索与回溯

一、递归

  1. 面试题 08.06. 汉诺塔问题
  2. 21. 合并两个有序链表
  3. 206. 反转链表
  4. 24. 两两交换链表中的节点
  5. 50. Pow(x, n)
递归 1~5 题解

二、二叉树中的深搜

  1. 2331. 计算布尔二叉树的值
  2. 129. 求根节点到叶节点数字之和
  3. 814. 二叉树剪枝
  4. 98. 验证二叉搜索树
  5. 230. 二叉搜索树中第K小的元素
  6. 257. 二叉树的所有路径
深搜 1~6 题解

三、穷举vs暴搜vs深搜vs回溯vs剪枝

  1. 46. 全排列
  2. 78. 子集
穷举…剪枝 1~2 题解

四、综合练习

  1. 1863. 找出所有子集的异或总和再求和
  2. 47. 全排列 II
  3. 17. 电话号码的字母组合
  4. 22. 括号生成
  5. 77. 组合
  6. 494. 目标和
  7. 39. 组合总和
  8. 784. 字母大小写全排列
  9. 526. 优美的排列
  10. 51. N 皇后
  11. 36. 有效的数独
  12. 37. 解数独
  13. 79. 单词搜索
  14. 1219. 黄金矿工
  15. 980. 不同路径 III
递归与dfs综合练习 1~4 题解
递归与dfs综合练习 5~8 题解
递归与dfs综合练习 9~12 题解
递归与dfs综合练习 13~15 题解

五、FloodFill 算法

  1. 733. 图像渲染
  2. 200. 岛屿数量
  3. 695. 岛屿的最大面积
  4. 130. 被围绕的区域
  5. 417. 太平洋大西洋水流问题
  6. 529. 扫雷游戏
  7. LCR 130. 衣橱整理(原:面试题 13. 机器人的运动范围 )
floodfill算法 1~4 题解
floodfill算法 5~7 题解

六、记忆化搜索

  1. 509. 斐波那契数
  2. 62. 不同路径
  3. 300. 最长递增子序列
  4. 375. 猜数字大小 II
  5. 329. 矩阵中的最长递增路径
记忆化搜索 1~5 题解

🌵优选算法

一、双指针

  1. 283.移动零
  2. 1089.复写零
  3. 202.快乐数
  4. 11.盛最多水的容器
  5. 611.有效三角形的个数
  6. LCR 179.查找总价格为目标值的两个商品(原:剑指 offer:和为 s 的两个数)
  7. 15.三数之和
  8. 18.四数之和
双指针 1~4 题解
双指针 5~8 题解

二、滑动窗口

  1. 209.长度最小的子数组
  2. 3.无重复字符的最长子串
  3. 1004.最大连续1的个数 III
  4. 1658.将 x 减到 0 的最小操作数
  5. 904.水果成篮
  6. 438.找到字符串中所有字母异位词
  7. 30.串联所有单词的子串
  8. 76.最小覆盖子串
滑动窗口 1~4 题解
滑动窗口 5~8 题解

三、二分查找

  1. 704.二分查找
  2. 34.在排序数组中查找元素的第一个和最后一个位置
  3. 35.搜索插入位置
  4. 69.x 的平方根
  5. 852.山脉数组的峰顶索引
  6. 162.寻找峰值
  7. 153.寻找旋转排序数组中的最小值
  8. LCR 173.点名 (原:剑指 offer:0~n-1 中缺失的数字 )
二分查找 1~4 题解
二分查找 5~8 题解

四、前缀和

  1. DP34 【模板】一维前缀和
  2. DP35 【模板】二维前缀和
  3. 724.寻找数组的中心下标
  4. 238.除自身以外数组的乘积
  5. 560.和为 k 的子数组
  6. 974.和可被 k 整除的子数组
  7. 525.连续数组
  8. 1314.矩阵区域和
前缀和 1~4 题解
前缀和 5~8 题解

五、位运算

  1. 面试题 01.01. 判定字符是否唯一
  2. 268. 丢失的数字
  3. 371. 两整数之和
  4. 137. 只出现一次的数字 II
  5. 面试题 17.19. 消失的两个数字
  6. 191. 位1的个数
位运算 1~6 题解

六、模拟

  1. 1576. 替换所有的问号
  2. 495. 提莫攻击
  3. 6. Z 字形变换
  4. 38. 外观数列
  5. 1419. 数青蛙
模拟 1~5 题解

七、分治 - 快速排序

  1. 75. 颜色分类
  2. 912. 排序数组
  3. 215. 数组中的第K个最大元素
  4. LCR 159. 库存管理 III(原:剑指 Offer . 最小的k个数)
分治 - 快排 1~4 题解

八、分治 - 归并排序

  1. 912. 排序数组
  2. LCR 170. 交易逆序对的总数 (原:剑指 Offer . 数组中的逆序对)
  3. 315. 计算右侧小于当前元素的个数
  4. 493. 翻转对
分治 - 归并排序 1~4 题解

九、链表

  1. 2. 两数相加
  2. 24. 两两交换链表中的节点
  3. 143. 重排链表
  4. 23. 合并 K 个升序链表
  5. 25. K 个一组翻转链表

十、哈希表

  1. 1. 两数之和
  2. 面试题 01.02. 判定是否互为字符重排
  3. 217. 存在重复元素
  4. 219. 存在重复元素 II
  5. 49. 字母异位词分组

十一、字符串

  1. 14. 最长公共前缀
  2. 5. 最长回文子串
  3. 67. 二进制求和
  4. 43. 字符串相乘

十二、栈

  1. 1047. 删除字符串中的所有相邻重复项
  2. 844. 比较含退格的字符串
  3. 227. 基本计算器 II
  4. 394. 字符串解码
  5. 946. 验证栈序列

十三、队列 + 宽搜(bfs)

  1. 429. N 叉树的层序遍历
  2. 103. 二叉树的锯齿形层序遍历
  3. 662. 二叉树最大宽度
  4. 515. 在每个树行中找最大值

十四、优先级队列(堆)

  1. 1046. 最后一块石头的重量
  2. 703. 数据流中的第 K 大元素
  3. 692. 前K个高频单词
  4. 295. 数据流的中位数

十五、BFS 解决 FloodFill 算法

  1. 733. 图像渲染
  2. 200. 岛屿数量
  3. 695. 岛屿的最大面积
  4. 130. 被围绕的区域

十六、BFS 解决最短路问题

  1. 1926. 迷宫中离入口最近的出口
  2. 433. 最小基因变化
  3. 127. 单词接龙
  4. 675. 为高尔夫比赛砍树

十七、多源 BFS

  1. 542. 01 矩阵
  2. 1020. 飞地的数量
  3. 1765. 地图中的最高点
  4. 1162. 地图分析

十八、BFS 解决拓扑排序

  1. 207. 课程表
  2. 210. 课程表 II
  3. LCR 114. 火星词典

🌻贪心算法

  1. 860. 柠檬水找零
  2. 2208. 将数组和减半的最少操作次数
  3. 179. 最大数
  1. 376. 摆动序列
  2. 300. 最长递增子序列
  3. 334. 递增的三元子序列
  1. 674. 最长连续递增序列
  2. 121. 买卖股票的最佳时机
  3. 122. 买卖股票的最佳时机 II
  1. 1005. K 次取反后最大化的数组和
  2. 2418. 按身高排序
  3. 870. 优势洗牌
  1. 409. 最长回文串
  2. 942. 增减字符串匹配
  3. 455. 分发饼干
  1. 553. 最优除法
  2. 45. 跳跃游戏 II
  3. 55. 跳跃游戏
  1. 134. 加油站
  2. 738. 单调递增的数字
  3. 991. 坏了的计算器
  1. 56. 合并区间
  2. 435. 无重叠区间
  3. 452. 用最少数量的箭引爆气球
  1. 397. 整数替换
  2. 354. 俄罗斯套娃信封问题
  3. 1262. 可被三整除的最大和
  1. 1054. 距离相等的条形码
  2. 767. 重构字符串

🍇动态规划 

一、斐波那契数列模型

  1. 1137. 第 N 个泰波那契数
  2. 面试题 08.01. 三步问题
  3. 746. 使用最小花费爬楼梯
  4. 91. 解码方法

二、路径问题

  1. 62. 不同路径
  2. 63. 不同路径 II
  3. LCR 166. 珠宝的最高价值(原:剑指 Offer 47. 礼物的最大价值)
  4. 931. 下降路径最小和
  5. 64. 最小路径和
  6. 174. 地下城游戏

三、简单多状态 dp 问题

  1. 面试题 17.16. 按摩师
  2. 213. 打家劫舍 II
  3. 740. 删除并获得点数
  4. LCR 091. 粉刷房子(原:剑指 Offer II 091. 粉刷房子)
  5. 309. 买卖股票的最佳时机含冷冻期
  6. 714. 买卖股票的最佳时机含手续费
  7. 123. 买卖股票的最佳时机 III
  8. 188. 买卖股票的最佳时机 IV

四、子数组、子串系列

  1. 53. 最大子数组和
  2. 918. 环形子数组的最大和
  3. 152. 乘积最大子数组
  4. 1567. 乘积为正数的最长子数组长度
  5. 413. 等差数列划分
  6. 978. 最长湍流子数组
  7. 139. 单词拆分
  8. 467. 环绕字符串中唯一的子字符串

五、子序列问题

  1. 300. 最长递增子序列
  2. 376. 摆动序列
  3. 673. 最长递增子序列的个数
  4. 646. 最长数对链
  5. 1218. 最长定差子序列
  6. 873. 最长的斐波那契子序列的长度
  7. 1027. 最长等差数列
  8. 446. 等差数列划分 II - 子序列

六、回文串问题

  1. 647. 回文子串
  2. 5. 最长回文子串
  3. 1745. 分割回文串 IV
  4. 132. 分割回文串 II
  5. 516. 最长回文子序列
  6. 1312. 让字符串成为回文串的最少插入次数

七、两个数组的 dp

  1. 1143. 最长公共子序列
  2. 1035. 不相交的线
  3. 115. 不同的子序列
  4. 44. 通配符匹配
  5. 10. 正则表达式匹配
  6. 97. 交错字符串
  7. 712. 两个字符串的最小ASCII删除和
  8. 718. 最长重复子数组

八、01 背包问题

  1. DP41【模板】01背包
  2. 416. 分割等和子集
  3. 494. 目标和
  4. 1049. 最后一块石头的重量 II

九、完全背包问题

  1. DP42【模板】完全背包
  2. 322. 零钱兑换
  3. 518. 零钱兑换 II
  4. 279. 完全平方数

十、二维费用的背包问题

  1. 474. 一和零
  2. 879. 盈利计划

十一、似包非包

  1. 377. 组合总和 Ⅳ

十二、卡特兰数

  1. 96. 不同的二叉搜索树

相关文章:

  • 点击phpstorm启动图标后,转圈圈后没有反应
  • GraphCL vs GCC
  • 使用Docker Compose部署 MySQL8
  • 牛客NC288803 和+和
  • 开源PDF解析工具olmOCR
  • 某个设备的RJ45网口接头为何不可连接任何POE设备
  • Qt 自带颜色属性
  • ZooKeeper分布式协调框架
  • 【LLM】DeepSeek开源技术汇总
  • 【Python】网络爬虫——词云wordcloud详细教程,爬取豆瓣最新评论并生成各式词云
  • 智能AI替代专家系统(ES)、决策支持系统(DSS)?
  • VScode 开发 Springboot 程序
  • StarRocks 在爱奇艺大数据场景的实践
  • 下载pyenv
  • 飞算 JavaAI:支持复杂业务逻辑生成,降低 80% 开发门槛
  • Zookeeper(80)Zookeeper的常见问题有哪些?
  • 机器幻觉产生的原因
  • IDEA相关配置
  • Vosk语音识别包
  • 运动想象 (MI) 分类学习系列 (17) : CCSM-FT