《算法宝典:全类型题目索引》
目录
🌴递归、搜索与回溯
一、递归
二、二叉树中的深搜
三、穷举vs暴搜vs深搜vs回溯vs剪枝
四、综合练习
五、FloodFill 算法
六、记忆化搜索
🌵优选算法
一、双指针
二、滑动窗口
三、二分查找
四、前缀和
五、位运算
六、模拟
七、分治 - 快速排序
八、分治 - 归并排序
九、链表
十、哈希表
十一、字符串
十二、栈
十三、队列 + 宽搜(bfs)
十四、优先级队列(堆)
十五、BFS 解决 FloodFill 算法
十六、BFS 解决最短路问题
十七、多源 BFS
十八、BFS 解决拓扑排序
🌻贪心算法
🍇动态规划
一、斐波那契数列模型
二、路径问题
三、简单多状态 dp 问题
四、子数组、子串系列
五、子序列问题
六、回文串问题
七、两个数组的 dp
八、01 背包问题
九、完全背包问题
十、二维费用的背包问题
十一、似包非包
十二、卡特兰数

未完待续……
🌴递归、搜索与回溯
一、递归
- 面试题 08.06. 汉诺塔问题
- 21. 合并两个有序链表
- 206. 反转链表
- 24. 两两交换链表中的节点
- 50. Pow(x, n)
| 递归 1~5 题解 |
二、二叉树中的深搜
- 2331. 计算布尔二叉树的值
- 129. 求根节点到叶节点数字之和
- 814. 二叉树剪枝
- 98. 验证二叉搜索树
- 230. 二叉搜索树中第K小的元素
- 257. 二叉树的所有路径
| 深搜 1~6 题解 |
三、穷举vs暴搜vs深搜vs回溯vs剪枝
- 46. 全排列
- 78. 子集
| 穷举…剪枝 1~2 题解 |
四、综合练习
- 1863. 找出所有子集的异或总和再求和
- 47. 全排列 II
- 17. 电话号码的字母组合
- 22. 括号生成
- 77. 组合
- 494. 目标和
- 39. 组合总和
- 784. 字母大小写全排列
- 526. 优美的排列
- 51. N 皇后
- 36. 有效的数独
- 37. 解数独
- 79. 单词搜索
- 1219. 黄金矿工
- 980. 不同路径 III
| 递归与dfs综合练习 1~4 题解 |
| 递归与dfs综合练习 5~8 题解 |
| 递归与dfs综合练习 9~12 题解 |
| 递归与dfs综合练习 13~15 题解 |
五、FloodFill 算法
- 733. 图像渲染
- 200. 岛屿数量
- 695. 岛屿的最大面积
- 130. 被围绕的区域
- 417. 太平洋大西洋水流问题
- 529. 扫雷游戏
- LCR 130. 衣橱整理(原:面试题 13. 机器人的运动范围 )
| floodfill算法 1~4 题解 |
| floodfill算法 5~7 题解 |
六、记忆化搜索
- 509. 斐波那契数
- 62. 不同路径
- 300. 最长递增子序列
- 375. 猜数字大小 II
- 329. 矩阵中的最长递增路径
| 记忆化搜索 1~5 题解 |
🌵优选算法
一、双指针
- 283.移动零
- 1089.复写零
- 202.快乐数
- 11.盛最多水的容器
- 611.有效三角形的个数
- LCR 179.查找总价格为目标值的两个商品(原:剑指 offer:和为 s 的两个数)
- 15.三数之和
- 18.四数之和
| 双指针 1~4 题解 |
| 双指针 5~8 题解 |
二、滑动窗口
- 209.长度最小的子数组
- 3.无重复字符的最长子串
- 1004.最大连续1的个数 III
- 1658.将 x 减到 0 的最小操作数
- 904.水果成篮
- 438.找到字符串中所有字母异位词
- 30.串联所有单词的子串
- 76.最小覆盖子串
| 滑动窗口 1~4 题解 |
| 滑动窗口 5~8 题解 |
三、二分查找
- 704.二分查找
- 34.在排序数组中查找元素的第一个和最后一个位置
- 35.搜索插入位置
- 69.x 的平方根
- 852.山脉数组的峰顶索引
- 162.寻找峰值
- 153.寻找旋转排序数组中的最小值
- LCR 173.点名 (原:剑指 offer:0~n-1 中缺失的数字 )
| 二分查找 1~4 题解 |
| 二分查找 5~8 题解 |
四、前缀和
- DP34 【模板】一维前缀和
- DP35 【模板】二维前缀和
- 724.寻找数组的中心下标
- 238.除自身以外数组的乘积
- 560.和为 k 的子数组
- 974.和可被 k 整除的子数组
- 525.连续数组
- 1314.矩阵区域和
| 前缀和 1~4 题解 |
| 前缀和 5~8 题解 |
五、位运算
- 面试题 01.01. 判定字符是否唯一
- 268. 丢失的数字
- 371. 两整数之和
- 137. 只出现一次的数字 II
- 面试题 17.19. 消失的两个数字
- 191. 位1的个数
| 位运算 1~6 题解 |
六、模拟
- 1576. 替换所有的问号
- 495. 提莫攻击
- 6. Z 字形变换
- 38. 外观数列
- 1419. 数青蛙
| 模拟 1~5 题解 |
七、分治 - 快速排序
- 75. 颜色分类
- 912. 排序数组
- 215. 数组中的第K个最大元素
- LCR 159. 库存管理 III(原:剑指 Offer . 最小的k个数)
| 分治 - 快排 1~4 题解 |
八、分治 - 归并排序
- 912. 排序数组
- LCR 170. 交易逆序对的总数 (原:剑指 Offer . 数组中的逆序对)
- 315. 计算右侧小于当前元素的个数
- 493. 翻转对
| 分治 - 归并排序 1~4 题解 |
九、链表
- 2. 两数相加
- 24. 两两交换链表中的节点
- 143. 重排链表
- 23. 合并 K 个升序链表
- 25. K 个一组翻转链表
十、哈希表
- 1. 两数之和
- 面试题 01.02. 判定是否互为字符重排
- 217. 存在重复元素
- 219. 存在重复元素 II
- 49. 字母异位词分组
十一、字符串
- 14. 最长公共前缀
- 5. 最长回文子串
- 67. 二进制求和
- 43. 字符串相乘
十二、栈
- 1047. 删除字符串中的所有相邻重复项
- 844. 比较含退格的字符串
- 227. 基本计算器 II
- 394. 字符串解码
- 946. 验证栈序列
十三、队列 + 宽搜(bfs)
- 429. N 叉树的层序遍历
- 103. 二叉树的锯齿形层序遍历
- 662. 二叉树最大宽度
- 515. 在每个树行中找最大值
十四、优先级队列(堆)
- 1046. 最后一块石头的重量
- 703. 数据流中的第 K 大元素
- 692. 前K个高频单词
- 295. 数据流的中位数
十五、BFS 解决 FloodFill 算法
- 733. 图像渲染
- 200. 岛屿数量
- 695. 岛屿的最大面积
- 130. 被围绕的区域
十六、BFS 解决最短路问题
- 1926. 迷宫中离入口最近的出口
- 433. 最小基因变化
- 127. 单词接龙
- 675. 为高尔夫比赛砍树
十七、多源 BFS
- 542. 01 矩阵
- 1020. 飞地的数量
- 1765. 地图中的最高点
- 1162. 地图分析
十八、BFS 解决拓扑排序
- 207. 课程表
- 210. 课程表 II
- LCR 114. 火星词典
🌻贪心算法
- 860. 柠檬水找零
- 2208. 将数组和减半的最少操作次数
- 179. 最大数
- 376. 摆动序列
- 300. 最长递增子序列
- 334. 递增的三元子序列
- 674. 最长连续递增序列
- 121. 买卖股票的最佳时机
- 122. 买卖股票的最佳时机 II
- 1005. K 次取反后最大化的数组和
- 2418. 按身高排序
- 870. 优势洗牌
- 409. 最长回文串
- 942. 增减字符串匹配
- 455. 分发饼干
- 553. 最优除法
- 45. 跳跃游戏 II
- 55. 跳跃游戏
- 134. 加油站
- 738. 单调递增的数字
- 991. 坏了的计算器
- 56. 合并区间
- 435. 无重叠区间
- 452. 用最少数量的箭引爆气球
- 397. 整数替换
- 354. 俄罗斯套娃信封问题
- 1262. 可被三整除的最大和
- 1054. 距离相等的条形码
- 767. 重构字符串
🍇动态规划
一、斐波那契数列模型
- 1137. 第 N 个泰波那契数
- 面试题 08.01. 三步问题
- 746. 使用最小花费爬楼梯
- 91. 解码方法
二、路径问题
- 62. 不同路径
- 63. 不同路径 II
- LCR 166. 珠宝的最高价值(原:剑指 Offer 47. 礼物的最大价值)
- 931. 下降路径最小和
- 64. 最小路径和
- 174. 地下城游戏
三、简单多状态 dp 问题
- 面试题 17.16. 按摩师
- 213. 打家劫舍 II
- 740. 删除并获得点数
- LCR 091. 粉刷房子(原:剑指 Offer II 091. 粉刷房子)
- 309. 买卖股票的最佳时机含冷冻期
- 714. 买卖股票的最佳时机含手续费
- 123. 买卖股票的最佳时机 III
- 188. 买卖股票的最佳时机 IV
四、子数组、子串系列
- 53. 最大子数组和
- 918. 环形子数组的最大和
- 152. 乘积最大子数组
- 1567. 乘积为正数的最长子数组长度
- 413. 等差数列划分
- 978. 最长湍流子数组
- 139. 单词拆分
- 467. 环绕字符串中唯一的子字符串
五、子序列问题
- 300. 最长递增子序列
- 376. 摆动序列
- 673. 最长递增子序列的个数
- 646. 最长数对链
- 1218. 最长定差子序列
- 873. 最长的斐波那契子序列的长度
- 1027. 最长等差数列
- 446. 等差数列划分 II - 子序列
六、回文串问题
- 647. 回文子串
- 5. 最长回文子串
- 1745. 分割回文串 IV
- 132. 分割回文串 II
- 516. 最长回文子序列
- 1312. 让字符串成为回文串的最少插入次数
七、两个数组的 dp
- 1143. 最长公共子序列
- 1035. 不相交的线
- 115. 不同的子序列
- 44. 通配符匹配
- 10. 正则表达式匹配
- 97. 交错字符串
- 712. 两个字符串的最小ASCII删除和
- 718. 最长重复子数组
八、01 背包问题
- DP41【模板】01背包
- 416. 分割等和子集
- 494. 目标和
- 1049. 最后一块石头的重量 II
九、完全背包问题
- DP42【模板】完全背包
- 322. 零钱兑换
- 518. 零钱兑换 II
- 279. 完全平方数
十、二维费用的背包问题
- 474. 一和零
- 879. 盈利计划
十一、似包非包
- 377. 组合总和 Ⅳ
十二、卡特兰数
- 96. 不同的二叉搜索树
相关文章:
《算法宝典:全类型题目索引》
目录 🌴递归、搜索与回溯 一、递归 二、二叉树中的深搜 三、穷举vs暴搜vs深搜vs回溯vs剪枝 四、综合练习 五、FloodFill 算法 六、记忆化搜索 🌵优选算法 一、双指针 二、滑动窗口 三、二分查找 四、前缀和 五、位运算 六、模拟 七、分治 …...
Windows 11 部署 GPUStack 运行 DeepSeek
1. 介绍 DeepSeek 是一个强大的深度学习框架,适用于图像识别、自然语言处理等任务。GPUStack 是一个高效的 GPU 资源管理工具,能够帮助用户更好地利用 GPU 资源进行深度学习任务。本文将详细介绍如何在 Windows 11 系统上部署 GPUStack 并运行 DeepSeek…...
LangChain教程 - RAG - PDF问答
系列文章索引 LangChain教程 - 系列文章 在现代自然语言处理(NLP)中,基于文档内容的问答系统变得愈发重要,尤其是当我们需要从大量文档中提取信息时。通过结合文档检索和生成模型(如RAG,Retrieval-Augment…...
Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(十二)
API 更改 ADS 功能增加了以下公共 API 功能: 枚举系统中的多路复用器设备。查询有关多路复用器的信息,例如,它连接了哪些目标,以及当前切换到哪个目标。触发多路复用器切换。如何检测多路复用器是否已切换。 枚举系统中的多路复…...
《当齐天大圣踏入3A游戏世界:黑神话·悟空的破壁传奇》:此文为AI自动生成
国产 3A 游戏的破晓之光 2024 年 8 月 20 日,这一天注定被铭记在中国游戏发展的史册上。国产首款 3A 游戏《黑神话・悟空》震撼上线,犹如一颗重磅炸弹,在全球游戏市场掀起了惊涛骇浪。仅仅上线 3 小时,其同时在线人数便突破了 140 万,一举打破 Steam 纯单机游戏最高在线纪…...
Graphics View画一个可调速的风机(pyqt)
效果如图: 风机具备调节转速的功能,转速通过扇叶旋转的快慢来区别,共分为四档,其中零档为静止状态,而一、二、三档则依次增加转速。在代码中,BlowerWrapper 类包含了可旋转的扇叶、风机外框以及选项三个主要…...
基于django图书信息管理系统的搭建(增删改查)
✍django项目搭建教程 ☞ ----------------- 教程 本文主要讲解django如何连接数据库MySQL并且可视化展示,实现增删改查功能 目录 一. 创建django应用 二. 数据库配置 三. 查看数据库 四. 编写代码 4.1视图函数 4.2 配置URL 4.3创建模板文件 4.…...
Python 编程题 第四节:斐波那契数列、列表的复制、暂停后输出、成绩评级、统计字符
斐波那契数列 方法一(递归) def f(a):if a1:return 1elif a2:return 1else:return f(a-1)f(a-2) print(f(3)) 方法二(非递归) nint(input()) lst[1,1] for i in range(2,n1):lst.append(lst[i-1]lst[i-2]) print(lst[n-1]) 列…...
【华为OD机考】华为OD笔试真题解析(15)--异常的打卡记录
题目描述 考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据,为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的手机打卡记录进行异常排查。 如果出现以下两种情况,则认为打卡异常…...
跟我学C++中级篇——定时器的设计
一、定时器 谈到定时器,理论上讲是各种语言和各种设计都无法避开的一个技术点。对于定时器来说,表面上就是一种时间间隔的处理约定,但对程序来说,可能就是设计层面、接口层面和库或框架以及系统应用的一个大集合。不同的系统&…...
HTTP 请求时传递多部分表单数据
HTTP 请求时传递多部分表单数据(multipart/form-data) --data-raw $------demo11111\r\nContent-Disposition: form-data; name"Filedata"; filename"截屏2025-02-27 15.45.46.png"\r\nContent-Type: image/png\r\n\r\n\r\n------d…...
第J3-1周:DenseNet算法 实现乳腺癌识别
文章目录 一、前言二、前期准备1.设置GPU2.划分数据集 三、搭建网络模型1.DenseLayer模块2.DenseBlock模块3.Transition模块4.构建DenseNet5.构建densenet121 四、训练模型1.编写训练函数2.编写测试函数3.正式训练 五、结果可视化1.Loss与Accuracy图2.模型评估 总结:…...
Mac 版 本地部署deepseek ➕ RAGflow 知识库搭建流程分享(附问题解决方法)
安装: 1、首先按照此视频的流程一步一步进行安装:(macos版)ragflowdeepseek 私域知识库搭建流程分享_哔哩哔哩_bilibili 2、RAGflow 官网文档指南:https://ragflow.io 3、RAGflow 下载地址:https://github.com/infi…...
【解决】OnTriggerEnter/OnTriggerExit 调用匿名委托误区的问题
开发平台:Unity 开发语言:CSharp 6.0 开发工具:Visual Studio 2022 问题背景 public void OnTriggerEnter(Collider collider) {output.OnInteractionNoticed () > OnInteractionTriggered?.Invoke(); }public void OnTriggerExit(C…...
vscode集成DeepSeek
vscode 扩展 安装 Cline Meet Cline,一个可以使用你的CLI和编辑器的AI助手。 得益于 Claude 3.5 Sonnet的代理编码功能,Cline 可以逐步处理复杂的软件开发任务。借助让他创建和编辑文件、探索大型项目、使用浏览器和执行终端命令(在您授予权限后)的工具&…...
MapReduce编程模型
MapReduce编程模型 理解MapReduce编程模型独立完成一个MapReduce程序并运行成功了解MapReduce工程流程掌握并描述出shuffle全过程(面试)独立编写课堂及作业中的MR程序理解并解决数据倾斜 1. MapReduce编程模型 Hadoop架构图 Hadoop由HDFS分布式存储、M…...
SQL server2022的详细安装流程以及简单使用
鉴于SQL Server2008R2版本过于老旧,本文主要讲述如何安装SQL Server 2022。 本文主要详细介绍SQL server2022的详细安装流程以及简单使用,以《数据库系统概论(第5版)》的第79页—第80页为例,详细介绍如何使用SQL serv…...
Linux的诞生:一场自由与协作的技术革命
Linux的诞生:一场自由与协作的技术革命 在今天的互联网世界,Linux几乎无处不在——从智能手机(Android内核)到超级计算机,从云计算平台到家用路由器,它的身影渗透在技术的各个角落。但这样一个改变世界的操…...
Pytorch为什么 nn.CrossEntropyLoss = LogSoftmax + nn.NLLLoss?
为什么 nn.CrossEntropyLoss LogSoftmax nn.NLLLoss? 在使用 PyTorch 时,我们经常听说 nn.CrossEntropyLoss 是 LogSoftmax 和 nn.NLLLoss 的组合。这句话听起来简单,但背后到底是怎么回事?为什么这两个分开的功能加起来就等于…...
Go入门之文件
以只读方式打开文件 package mainimport ("fmt""io""os" )func main() {file, err : os.Open("./main.go")defer file.Close()if err ! nil {fmt.Println(err)return}fmt.Println(file)var tempSlice make([]byte, 128)var strSlice…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
