Tag: lc题目汇总

博弈DP

摘要: 本文介绍概率 DP 的原理和例题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 博弈是应用数学的一个分支,表示在多决策主体之间行为具有相互作用时,各主体根据所掌握信息以及对自身能力的认知,做

leetcode题目汇总-栈

摘要: 力扣上的栈的问题汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结一下力扣上 2000 题以内的关于栈的 73 道题。 栈是一种最基础的数据结构,本身是比较简单的,而且没什么变化

LeetCode题目汇总-随机算法

摘要: LeetCode 随机算法题目汇总 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 大数据应用中的概率算法与数据结构 中有提到一类海量数据处理的问题,并且分享了一本还

leetcode数学题目汇总

摘要: 本文系统梳理了数学相关的算法。并汇总了 leetcode 上的相关的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于数学的 49 道题。将场景相

双指针和滑动窗口题目汇总

摘要: 本文总结一下双指针和滑动窗口题目的分类汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于双指针和滑动窗口的 73 道题,思路接近的题放到了一起。常见

分桶法

摘要: 本文总结了 leetcode 上的分桶法相关的题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于分桶的 14 道题。将场景相同的放到了一起,场景上主

几何题汇总

摘要: 本文总结了 leetcode 上的计算几何相关的题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 文总结了力扣上 2000 题以内的关于计算几何的 15 道题。将场景相同的放到了一起,场景

01背包和完全背包题目汇总

摘要: 转换为 01 背包和完全背包的组合问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 组合数学的问题有时候可以转换为背包问题进而解决,而组合数学研究组合的存在性、计数性、优化性。也就是说背包

棋盘DP

摘要: 棋盘 DP 的题目总结 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在很多时候,我们要在矩阵或者三角形上解决问题。比如给定一个矩阵,求最大的子矩阵和;又比如给定一个三角形,求从第一行走

单串线性DP-多维状态,在阶段的基础上附加维度

801. 使序列递增的最小交换次数 1187. 使数组严格递增 873. 最长的斐波那契子序列的长度 1027. 最长等差数列 813. 最大平均值和的分组 887. 鸡蛋掉落 256. 粉刷房子 265. 粉刷房子 II 975. 奇偶跳 403. 青蛙过河 1478. 安排邮筒 1230. 抛掷硬币 410. 分割数组的最大值 1473. 给房子涂色 III 446. 等差数列划分 II -

深拷贝

摘要: 经典的二叉堆的实现,附代码模板和应用 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 今天我们看4个题,leetcode第1490题【1490. 克隆 N 叉树】,第133题【133. 克隆图

尺取法(单串单向双指针)

摘要: 本文系统梳理了单串单向双指针的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 双指针 中,我们系统梳理了常见的双指针问题类型,包括单串单向、单串双向、双串单向、单串三指针等。

滑动窗口

摘要: 本文系统梳理定长滑动窗口相关的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings $0 不定长滑动窗口不定长滑动窗口经常也称为尺取法,可以参考文章: 尺取法。 $1 定长滑动窗口 题

双指针

摘要: 本文系统梳理了双指针的算法要点。并汇总了 leetcode 上的相关的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings $0 单串单向维护 [l, r]维护 [l, r] 的题目可以参

单调队列

摘要: 单调队列的算法原理,代码模板和应用 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文详细介绍单调队列的算法原理、代码模板和应用。涉及到的题目汇总如下: 基本模型 239. 滑动窗口最大值

日期和时间

摘要: 力扣上日期和时间相关题目汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 对日期和时间的处理是在编程中经常要处理的问题。本文我们总结力扣上与日期和时间有关的题目。由于不涉及什么算法

分类讨论

摘要: 本文通过两道题来说明分类讨论在算法中的应用 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 分类讨论是算法中常见的一种思想,这种思想没有固定的套路,需要结合具体的问题进行分析。本文列出 5 道

高精度运算组件

摘要: 在字符串、数组、链表等数据结构上维护按位的加减乘除,力扣 8 八道题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在计算机中表示整数一般是通过 int、long long 等类型,这些类型

位运算疑难杂症

摘要: 位运算的疑难问题集锦 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 位运算操作 中我们梳理了基础的位运算的运算符、各种集合操作用位运算的实现方式、以及其他比较常见的位运算的问题及其代

限制运算符的数字运算

摘要: 限制运算符的数字运算问题,四道题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 有时我们会遇到实现某种运算的问题,但是限制某些运算符的使用。这类问题主要考察的是对各个运算符的特性的理解,以及

LCA,树上倍增,树上差分

LCA 向上标记法(搜索) 236. 二叉树的最近公共祖先 / 面试题 04.08. 首个共同祖先 树上倍增 1483. 树节点的第 K 个祖先 tarjan 算法 LCA 题目 1257. 最小公共区域 235. 二叉搜索树的最近公共祖先 1123. 最深叶节点的最近公共祖先 LCA 应用 树上差分 次小生成树 支配树 $1 LCA问题 给定一棵有根树,若 z 既是 x

自定义排序

自定义排序 791. 自定义字符串排序 1329. 将矩阵按对角线排序 1333. 餐厅过滤器 1030. 距离顺序排列矩阵单元格 524. 通过删除字母匹配到字典里最长单词 179. 最大数 406. 根据身高重建队列 1366. 通过投票对团队排名 1057. 校园自行车分配 1029. 两地调度 1094. 拼车 1058. 最小化舍入误差以满足目标 1090. 受标签影响的最大值 135

贪心-双指标规划问题

摘要: 一些用贪心解决的双指标规划问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在业务场景中,我们经常遇到这样一类优化问题。有一个对象池,我们要从中选出 K 个对象。这些对象中,有 x 和 y

贪心-删数,拼数,选数,改数

摘要: 贪心算法解决数字构造问题:删数、拼数、选数、改数 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文罗列一下力扣上的一大类问题,也就是贪心算法解决的数字构造问题,包括删数、拼数、选数、改数等

贪心

摘要: 本文系统梳理了贪心相关的算法。并汇总了 leetcode 上的相关的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 正确性证明(Ref: 《算法竞赛进阶指南》) 微扰法 范围缩放

区间DP

区间 DP 分治型 减治型 减治型区间DP题目 5. 最长回文子串 647. 回文子串 486. 预测赢家 516. 最长回文子序列 1147. 段式回文 730. 统计不同回文子字符串 1312. 让字符串成为回文串的最少插入次数 1216. 验证回文字符串 III 1278. 分割回文串 III 分治型区间DP题目 312. 戳气球 471. 编码最短长度的

逆向思维

摘要: 本文梳理了 leetcode 上用逆向思维的思想解决的问题。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文梳理力扣上 9 道用逆向思维的思想解决的问题,总览如下: 1558. 得到目

leetcode模拟问题汇总

摘要: 模拟类的题目总结 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 数组或字符串上的模拟(1) 转换 38. 外观数列 273. 整数转换英文表示 1089. 复写零 (2) 其它 75

递归

递归的三种情况 定义是递归的 数据结构是递归的 问题解法是递归的 $1 定义是递归的例如字典,字典中的词,是由其它词来定义的。而这些其它词的定义又会直接或间接地用到由它们定义的词。 使用递归有一个基本条件:有一些 base case 可以采用非递归的方式计算出来。 括号问题汇总语法分析问题分类汇总其它 87. 扰乱字符串 761. 特殊的二进制序列 776. 拆分二叉搜索树 1003. 检查替

分治

主定理 二分分治 932. 漂亮数组 169. 多数元素 23. 合并K个升序链表 53. 最大子序和 751. IP 到 CIDR 参考 线段树,树状数组 四分分治 1274. 矩形内船只的数目 参考 二维线段树,二维树状数组 CDQ分治 315. 计算右侧小于当前元素的个数 参考 离散化,权值线段树,权值树状数组 线段树和树状数组题目汇总 相似的场景概念 分治与

Trie题目汇总

Trie 基本功能的思想和实现 : 力扣208-Trie 208. 实现 Trie (前缀树) Trie 的插入,查找单词和前缀是否存在 211. 添加与搜索单词 - 数据结构设计 Trie 中的搜索 基于字典树的串上搜索 212. 单词搜索 II Trie + DFS 720. 词典中最长的单词 Trie + DFS 425. 单词方块 Trie + DFS 745. 前缀和后缀搜索

minimax

极小化极大问题描述和定义 极小化极大问题分类 极小化极大解法 minimax算法 minimax 算法优化: $\alpha-\beta$ 剪枝 题目 minimax 843. 猜猜这个单词 minimax + 数学推导 292. Nim 游戏 博弈DP: minimax + DP/记忆化搜索 294. 翻转游戏 II minimax + 记忆化搜索 SG定理 464.

排列算法

枚举排列: 无重复: 46. 全排列 有重复: 47. 全排列 II DFS: 可以处理重复, 枚举 字典序法: 可以处理重复 SJT算法: 不能处理重复 下一个排列 31. 下一个排列 字典序法 第 K 个排列 60. 第k个排列 DFS + 剪枝 阶乘数系统 康托展开与康托编码 排列的哈希 $1 枚举排列 46. 全排列 47. 全排列 II 以上两题为输出所有的排列,一个

计数DP

摘要: 本文简要介绍一下计数类的问题,以及 leetcode 上的相关题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 计数是组合数学的重要内容。不考虑用母函数等手段求解析解的话,计数问题一般有

常见的枚举方式

摘要: 本文梳理一下常见的枚举方式,以及对应的代码模板 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 枚举与分类讨论、找规律、按位单独处理、分别计算各元素贡献、逆向思维、惰性更新 等一样,也是一种思

DFS

解决的问题 组合搜索和隐式图搜索 组合搜索,隐式图搜索 树搜索 树的DFS遍历 图搜索 无向图的连通分量 有向图的连通分量 无向图的环 有向图的环 二分图判定 无向图的桥 无向图的割点 无向图的双连通分量 tarjan算法 欧拉路径 DFS拓扑排序 还有很多… 图搜索的 DFS 模板(以遍历为例) 经常配合使的用方法 连通性(DFS基本模型) 1391. 检查网格中是否存在有

BFS

BFS 可解决的问题 组合搜索和隐式图搜索 组合搜索,隐式图搜索 树搜索 树的BFS遍历 图搜索 无权图最短路径 带权图最短路径 无向图的环 有向图的环 无向图的连通分量 二分图判定 拓扑排序 还有很多… 图搜索的 BFS 模板(无权图最短路径为例) 经常配合使用的方法 无权图最短路径(BFS基本模型) 1311. 获取你好友已观看的视频 909. 蛇梯棋 复杂状态表示和

组合搜索,隐式图搜索

组合搜索:在有限的搜索空间(也叫隐式图)内穷举搜索出可行答案或最优答案,本质上还是穷举。 组合经常用于各种隐式图搜索,一般既可以 DFS 也可以 BFS,哪种好没有定式,需要结合具体问题。 难点主要有两个: 第一个是搜索空间中的状态表示(隐式图的节点意义)和状态转移(隐式图的边意义)可以很复杂。陷入具体问题或业务问题中有时很难发现其中的状态和转移,进而找到合适的图表示来建模。 第二个是优化,组

树的BFS遍历

基础层序遍历: 102. 二叉树的层序遍历 队列 递归(不用队列方法1) 双指针(不用队列方法2) 429. N叉树的层序遍历 变种层序遍历 自底向上层序 107. 二叉树的层次遍历 II 锯齿形层序 103. 二叉树的锯齿形层次遍历 层平均值 637. 二叉树的层平均值 堂兄弟节点 993. 二叉树的堂兄弟节点 垂序遍历 314. 二叉树的垂直遍历

二分

摘要: 本文系统梳理了二分的算法要点。并汇总了 leetcode 上的相关的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于二分的 83 道题。将场景相

树形DP

摘要: 树形DP的思想与经典问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 树形DP思想 在树形结构上求解问题,在某棵以 u 为根的树上的答案为 dp[u],其重复子问题是子树上的问题,对应的答

树的DFS遍历

前序遍历: 递归、迭代、Morris遍历 144. 二叉树的前序遍历 建树问题 105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树 889. 根据前序和后序遍历构造二叉树 1028. 从先序遍历还原二叉树 1008. 先序遍历构造二叉树 编码和序列化问题: 数据压缩 结构判断问题 100. 相同的树 572. 另一个树的子树 1367.

二叉查找树的中序遍历和前驱后继

背景: 树的DFS遍历 手撕平衡树-二叉查找树BST 中序遍历 98. 验证二叉搜索树 99. 恢复二叉搜索树 230. 二叉搜索树中第K小的元素 255. 验证前序遍历序列二叉搜索树 272. 最接近的二叉搜索树值 II 426. 将二叉搜索树转化为排序的双向链表 501. 二叉搜索树中的众数 530. 二叉搜索树的最小绝对差 776. 拆分二叉搜索树 1305. 两棵二

带权并查集

并查集 带权并查集 集合级的权: 一般是连通分量中的属性,例如元素个数,最值等,查找过程无影响 边级的权:节点到父节点的某种指标,例如长度,查找和合并都会对边权有影响 模板: 399. 除法求值 题目 集合级的权 128. 最长连续序列 连通分量的大小 面试题 17.07. 婴儿名字 连通分量的属性 952. 按公因数计算最大组件大小 连通分量的大小 1061. 按字典序排列最小的等效字符串

并查集

基本操作:same(x, y), union(x, y), find(x) 路径压缩,按秩合并 解决的问题: 加边连通性:不断加边,同时问某两个点是否连通 Kruskal 最小生成树 连通分量:判定,个数,大小, 属性 环:判定,长度,个数 模板 547. 朋友圈 并查集的回滚 题目 (1) 加边连通性 261. 以图判树 305. 岛屿数量 II 1627. 带阈值的图连通性 1101.

BFS拓扑排序

拓扑排序算法及其 BFS 实现(Kahn算法) 求排序结果 判断图中是否有环 拓扑排序的 DFS 实现(开栈保存拓扑排序的结果) 拓扑排序的存在性 拓扑排序的唯一性 拓扑排序的方案数 题目 802. 找到最终的安全状态 207. 课程表 269. 火星词典 210. 课程表 II 444. 序列重建 1203. 项目管理 329. 矩阵中的最长递增路径 $1 拓扑排序算法拓扑排序:

素数筛

摘要: 本文介绍素数筛的算法原理和代码模板、以及几道相关题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文详细研究素数筛。首先以力扣第 204 题为模板题学习埃氏筛和线性筛,然后讨论素

最大公约数算法以及C++17组件

摘要: 本文介绍最大公约数算法的实现、C++17 相应的组件、以及几道相关题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 最大公约数是数论中最基础的内容,在算法中也经常见到关于最大公约数相关的问

数组中出现的元素

范围内某数字缺失和重复(数字范围1~n,有点置换群的意思oo) 268. 缺失数字 41. 缺失的第一个正数 645. 错误的集合 287. 寻找重复数 448. 找到所有数组中消失的数字 面试题 17.19. 消失的两个数字 765. 情侣牵手 某数字出现次数(数字范围不限) 136. 只出现一次的数字 389. 找不同 137. 只出现一次的数字 II 260. 只出现一次的数字

带权图最短路径的变种问题

摘要: 带权图最短路径的变种问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 带权图最短路径算法与实现 中我们以力扣 743 作为模板题,全面梳理了带权图最短路径的各种算法与实现。 本文