《算法宝典:全类型题目索引》
目录
🌴递归、搜索与回溯
一、递归
二、二叉树中的深搜
三、穷举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…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...