灵茶山艾府・高质量题解精选​

灵茶山艾府・高质量题解精选 ​多数题解配有图片/动画,均包含 Python/Java/C++/Go 等语言。

相同知识点的题目,按照 难度分 排序。

知识点题目题解难度哈希表1. 两数之和【动画】从两数之和中,我们可以学到什么?简单链表2. 两数相加【动画】简洁写法!从递归到迭代!中等23. 合并 K 个升序链表两种方法:最小堆 / 分治困难双向链表146. LRU 缓存【图解】一张图秒懂 LRU!中等460. LFU 缓存【图解】一张图秒懂 LFU!困难二叉树1261. 在受污染的二叉树中查找元素【图解】两种方法:哈希表 / 位运算1440105. 从前序与中序遍历序列构造二叉树【图解】从 O (n^2) 到 O (n)中等106. 从中序与后序遍历序列构造二叉树【图解】从 O (n^2) 到 O (n)中等889. 根据前序和后序遍历构造二叉树【图解】从 O (n^2) 到 O (n)中等滑动窗口795. 区间子数组个数【图解】一次遍历 + 简洁写法18171658. 将 x 减到 0 的最小操作数两种写法:逆向思维 / 直接双指针18171234. 替换子串得到平衡字符串同向双指针(滑动窗口)18781574. 删除最短的子数组使剩余数组有序【动画】一写就错?两种写法,总有一种适合你!19322106. 摘水果滑动窗口,简洁写法20621782. 统计点对的数目击败 100%!从双指针到终极优化,十万个查询都不怕!2457二分275. H 指数 II【图解】一图掌握二分答案!四种写法!附题单!中等1901. 寻找峰值 II【图解】利用行最大值判断峰顶位置中等878. 第 N 个神奇数字【图解】二分答案 + 容斥原理18972594. 修车的最少时间二分答案 + 优化(附题单!)19152517. 礼盒的最大甜蜜度【套路】二分答案!附题单!20212386. 找出数组的第 K 大和两种方法:二分答案 + 爆搜 / 最小堆2648技巧性枚举1638. 统计只差一个字符的子串数目【图解】非暴力 O (nm) 算法1745前后缀分解1653. 使字符串平衡的最少删除次数【图解】前后缀分解,消除分支的技巧!(附动态规划)1794前缀和303. 区域和检索 - 数组不可变前缀和及其扩展,附题单!简单304. 二维区域和检索 - 矩阵不可变【图解】一张图秒懂二维前缀和!中等1031. 两个非重叠子数组的最大和【图解】没有思路?一张图秒懂!16801177. 构建回文串检测一步步优化!从前缀和到前缀异或和(附题单!)1848前缀和与哈希表面试题 17.05. 字母与数字【套路】前缀和 + 哈希表,消除分支的技巧中等1590. 使数组和能被 P 整除【套路】前缀和 + 哈希表 + 模运算技巧2039差分数组1094. 拼车【模板讲解】差分数组14412251. 花期内花的数目两种方法:二分 / 差分20222132. 用邮票贴满网格图【图解】从一维差分到二维差分2364单调栈1019. 链表中的下一个更大节点【图解单调栈】两种方法,两张图秒懂!15711124. 表现良好的最长时间段【图解】两种做法,两张图秒懂!1908907. 子数组的最小值之和【图解】贡献法 + 单调栈 + 三种实现版本19761944. 队列中可以看到的人数单调栈的本质:及时去掉无用数据21052454. 下一个更大元素 IVO (n) 一次遍历 + 双单调栈2175316. 去除重复字母跟着我过一遍示例 2,你就明白怎么做了2185单调队列862. 和至少为 K 的最短子数组【图解】两张图秒懂单调队列2307优先队列(堆)2558. 从数量最多的堆取走礼物【证明】堆化的时间复杂度1277373. 查找和最小的 K 对数字讲清楚为什么一开始要把 (i,0) 都入堆!中等1439. 有序矩阵中的第 k 个最小数组和三种算法:暴力/二分答案/堆2133857. 雇佣 K 名工人的最低成本一步步提示如何思考此题22602386. 找出数组的第 K 大和两种方法:二分答案 + 爆搜 / 最小堆2648LCP 24. 数字游戏转换 + 中位数贪心 + 对顶堆困难位运算771. 宝石与石头本题最优解!线性时间 + 常数空间11651457. 二叉树中的伪回文路径一步步优化:从数组到位运算14051261. 在受污染的二叉树中查找元素【图解】两种方法:哈希表 / 位运算1440137. 只出现一次的数字 II带你一步步推导出位运算公式!中等260. 只出现一次的数字 III【图解】一张图秒懂!转换成 136!中等421. 数组中两个数的最大异或值【图解】简洁高效,一图秒懂!中等贡献法979. 在二叉树中分配硬币【图解】没有思路?进来秒懂!17092477. 到达首都的最少油耗【图解】没有思路?一张图秒懂!2012891. 子序列宽度之和【图解】计算每个元素对答案的贡献,多解法2183动态规划70. 爬楼梯教你一步步思考动态规划!简单746. 使用最小花费爬楼梯教你一步步思考动态规划!1358剑指 Offer 47. 礼物的最大价值【图解】教你一步步思考动态规划!中等931. 下降路径最小和教你一步步思考动态规划!15731155. 掷骰子等于目标和的方法数击败 100%!教你一步步思考动态规划!16542304. 网格中的最小路径代价教你一步步思考动态规划!16581262. 可被三整除的最大和教你一步步思考动态规划!1762918. 环形子数组的最大和【图解】没有思路?一张图秒懂!17771186. 删除一次得到子数组最大和教你一步步思考动态规划!1799790. 多米诺和托米诺平铺【图解】找不到规律?请看图!18301227. 飞机座位分配概率【图解】没想明白?一张图秒懂!中等2008. 出租车的最大盈利教你一步步思考动态规划!1872823. 带因子的二叉树教你一步步思考动态规划!19001043. 分隔数组以得到最大和教你一步步思考动态规划!19161690. 石子游戏 VII教你一步步思考动态规划!19511696. 跳跃游戏 VI一步步优化:从递归到递推到单调队列19541463. 摘樱桃 II教你一步步思考动态规划!19571092. 最短公共超序列【输出具体方案】从递归到递推,教你一步步思考动态规划!1977940. 不同的子序列 II细分问题 + 复杂度优化19851223. 掷骰子模拟教你一步步思考动态规划!20081105. 填充书架教你一步步思考动态规划!20141235. 规划兼职工作动态规划 + 二分查找优化20231335. 工作计划的最低难度两种思路:动态规划 / 单调栈20341140. 石子游戏 II【博弈 DP】教你一步步思考动态规划!2035801. 使序列递增的最小交换次数考虑相邻元素的大小关系20661976. 到达目的地的方案数在计算最短路的同时 DP!附题单20951079. 活字印刷O (n^2) 计数 DP* 非暴力1444. 切披萨的方案数教你一步步思考动态规划!21271691. 堆叠长方体的最大高度【图解】算法优化 + 详细证明2172834. 树中距离之和【图解】一张图秒懂换根 DP!21971125. 最小的必要团队状压 0-1 背包,查表法 vs 刷表法22511997. 访问完所有房间的第一天前缀和优化 DP22601494. 并行课程 II子集状压 DP:从记忆化搜索到递推(附题单!)* 非暴力1617. 统计子树中城市之间最大距离【图解】回溯/二进制枚举/O (n^3) 枚举直径端点23091187. 使数组严格递增最长递增子序列的变形:选或不选 / 枚举选哪个23162312. 卖木头块枚举切割位置 + 循环优化2363741. 摘樱桃教你一步步思考动态规划!困难1349. 参加考试的最大学生数【图解】状压 DP 的两种状态设计思路23861000. 合并石头的最低成本【图解】区间 DP:状态设计与优化24231595. 连通两组点的最小成本教你一步步思考动态规划!(附题单)24231815. 得到新鲜甜甜圈的最多组数【图解】位运算的魔法25591883. 准时抵达会议现场的最小跳过休息次数【避免浮点误差】教你一步步思考动态规划!25882902. 和带限制的子多重集合的数目多重背包方案数:从朴素 DP 到优化27582809. 使数组和小于等于 x 的最少时间教你一步步思考本题!2979数学50. Pow(x, n)【图解】一张图秒懂快速幂!中等1954. 收集足够苹果的最小花园周长【图解】O (1) 做法17591016. 子串能表示从 1 到 N 数字的二进制串三种算法:从暴力到优化17791015. 可被 K 整除的最小整数【图解】三种算法 + 优化1875754. 到达终点数字【图解】分类讨论 + 详细证明 + 简洁写法 + 优化18801739. 放置盒子【动画】没想明白?一个动画秒懂!附 O (1) 做法21983102. 最小化曼哈顿距离【图解】曼哈顿距离转切比雪夫距离待定1330. 翻转子数组得到最大的数组值不会化简?请看这!24821735. 生成乘积数组的方案数【图解】质因子分解 + 放球问题25001819. 序列中不同最大公约数的数目击败 100%!枚举 GCD + 循环优化25403139. 使数组中所有元素相等的最小开销分类讨论,O (n) 做法2666贪心1144. 递减元素使数组呈锯齿状没有思路?一步步提示你思考!15591247. 交换字符使得字符串相同【图解】没想明白?一张图秒懂!1597870. 优势洗牌田忌赛马16481402. 做菜顺序枚举做几道菜 + 贪心16791145. 二叉树着色游戏【图解】没有思路?一张图秒懂!17411262. 可被三整除的最大和两种算法:贪心 / 动态规划17621775. 通过最少操作次数使数组的和相等【动画】没想明白?一个动画秒懂!18501616. 分割两个字符串得到回文串【图解】没想明白?一张图秒懂!18681326. 灌溉花园的最少水龙头数目【图解】没想明白?一张图秒懂!18851147. 段式回文【图解】贪心做法,一图秒懂!19121798. 你能构造出连续值的最大数目【图解】没想明白?一张图秒懂!19311686. 石子游戏 VI巧妙转换20012136. 全部开花的最早一天贪心及其证明2033630. 课程表 III贪心还能反悔?困难LCP 24. 数字游戏转换 + 中位数贪心 + 对顶堆困难1703. 得到连续 K 个 1 的最少相邻交换次数【图解】转换成中位数贪心 + 空间优化2467脑筋急转弯481. 神奇字符串【动画】一个动画秒懂本题 + 简洁写法中等895. 最大频率栈【动画】没想明白?一个动画秒懂!2028构造1605. 给定行和列的和求可行矩阵【动画】没有思路?一个动画秒懂!附优化写法1868思维题1657. 确定两个字符串是否接近理解操作本质 + 简洁写法15301040. 移动石子直到连续 II【图解】下跳棋24561803. 统计异或值在范围内的数对有多少【图解】不会字典树?只用哈希表也能做!2479网格图面试题 16.19. 水域大小【模板】网格图 DFS(附题单!)中等1254. 统计封闭岛屿的数目【动画】两种思路:先外后内 / 出界标记(附题单!)16592258. 逃离火灾【图解】两种方法:二分答案 / 直接计算2347树1376. 通知所有员工所需的时间深入理解递归:自顶向下 / 自底向上(附 O (1) 空间迭代写法!)15611377. T 秒后青蛙的位置DFS + 一次有趣的 hack18242003. 每棵子树内缺失的最小基因值【图解】一张图秒懂!多种写法!2415图 DFS924. 尽量减少恶意软件的传播只包含一个被感染节点的最大连通块1869928. 尽量减少恶意软件的传播 II逆向思维1985最短路1824. 最少侧跳次数从 0 到 1 的 0-1 BFS17781334. 阈值距离内邻居最少的城市【Floyd 模板】带你发明 Floyd 算法:从记忆化搜索到递推18851210. 穿过迷宫的最少移动次数【诗】还在 if-else?一个循环处理六种移动!20221976. 到达目的地的方案数【Dijkstra 模板】在计算最短路的同时 DP!附题单2095882. 细分图中的可到达节点【图解】转换成单源最短路问题2328基环树2127. 参加会议的最多员工数【图解】内向基环树:拓扑排序 + 分类讨论2449LCA1483. 树节点的第 K 个祖先【模板讲解】树上倍增算法(以及最近公共祖先)2115树状数组307. 区域和检索 - 数组可修改【模板讲解】带你发明树状数组!附数学证明中等更多题目请看【基础算法精讲】题目列表

分类题单 ​如何科学刷题?

滑动窗口(定长/不定长/多指针)二分算法(二分答案/最小化最大值/最大化最小值/第 K 小)单调栈(基础/矩形面积/贡献法/最小字典序)网格图(DFS/BFS/综合应用)位运算(基础/性质/拆位/试填/恒等式/思维)图论算法(DFS/BFS/拓扑排序/最短路/最小生成树/二分图/基环树/欧拉路径)🔥动态规划(入门/背包/状态机/划分/区间/状压/数位/数据结构优化/树形/博弈/概率期望)常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)数学算法(数论/组合/概率期望/博弈/计算几何/随机算法)贪心算法(基本贪心策略/反悔/区间/字典序/数学/思维/脑筋急转弯/构造)周赛总结 ​如何科学上分(科学刷题)从周赛中学算法 - 2023・下从周赛中学算法 - 2023・上从周赛中学算法 - 2022・下从周赛中学算法 - 2022・上其他 ​🔥从集合论到位运算,常见位运算技巧分类总结!模运算的世界:当加减乘除遇上取模【简单题杀手】分组循环

Top