Category: 算法

数位DP

摘要: 数位 DP 的算法原理,题目列表以及题解 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 数位 DP 在基础的动态规划问题当中算是比较难的一类,因为数位 DP 的状态的物理意义不太好理解。其它

单调栈题目汇总

摘要: 单调栈的题目汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 单调栈基本思想和模板单调栈的算法原理和代码模板看这篇文章:单调栈。 单调栈的题目以下是单调栈的题目列表,思路类似,可以集

单调栈:两侧距离最近的更大元素

摘要: 单调栈的算法原理,代码模板和应用 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们以力扣 84. 柱状图中最大的矩形 为模板题,串讲一下单调栈的思路和代码。在文章 单调栈题目汇总 中列

topK问题:第K个最大元素

摘要: TopK 问题的几种主流解法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个大家都研究的很透的问题,数组中的第 K 个最大元素。这种 TopK 问题有 3 种主流解法: 用堆

众数,摩尔投票

摘要: 求众数的算法,摩尔投票 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文以 169. 多数元素 和 229. 求众数 II 来看一下求众数的算法。其中我们重点看一下摩尔投票算法。 求众数问

二维线段树:单点修改,矩阵和查询

摘要: 二维线段树,单点修改与矩阵查询,原理与实现 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文通以 308. 二维区域和检索 - 可变 作为模板题来看一下二维线段树的原理与实现。 本文的线段

区间问题汇总

摘要: 本文总结了 leetcode 上的区间问题相关的题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 力扣上 2000 以内的区间类的题一共 41 道题,按解决方案和问题模型分类。区间类的题有

树上倍增

摘要: 树上倍增算法及其在最近公共祖先问题上的应用 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 树的直径 中我们学习了树的直径的算法,这是树上的一个基础问题,很多问题都可以拆解成树的直径问

权值线段树、权值树状数组:元素排名区间的权值(个数)和

摘要: 元素的计数,权值线段树、权值树状数组 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 线段树和树状数组:单点修改、区间和查询 中,我们知道线段树和树状数组可以处理元素

带权图最短路径算法与实现

摘要: 带权图单源最短路 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们以力扣 743 为模板题来看一下带权图的单源最短路问题的各种算法的原理以及实现。涉及到以下算法: dkijstra

线段树和树状数组:单点修改、区间和查询

摘要: 线段树和树状数组,单点修改与区间查询,原理与实现 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文通以 307. 区域和检索 - 数组可修改 作为模板题来看一下线段树和树状数组的原理与实现

区间合并问题

摘要: 本文我们以力扣 56 来看一下区间合并问题的各种解法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们系统串讲一下区间合并问题。这个问题有很多解法,每个解法都是主流经典算法。同时区间也

字符串精确匹配

摘要: 字符串精确匹配方法汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们以 leetcode 第 28 题为模板题,总结一下字符串精确匹配的各种算法。 28. 实现 strStr()给

Trie

摘要: 经典的 Trie 的实现,附代码模板和应用 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们以力扣 208 作为模板题来学习一下 Trie 的建树,插入和查找。并形成代码模板。 模板题

括号问题汇总

摘要: 总结括号相关的题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 有效括号有效括号的条件: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 有效括号的递归定义: 空

语法分析问题分类汇总

摘要: 语法分析题目汇总 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于语法解析问题的 32 道题。将场景相同的放到了一起,场景上主要涉及嵌

链表问题汇总

摘要: 总结链表题目 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings $1 链表节点操作 61. 旋转链表 86. 分隔链表 21. 合并两个有序链表 23. 合并K个升序链表 109. 有序链表转

力扣143-重排链表

摘要: 一个比较综合的链表题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本题的其中一种解法刚好是将链表上的三个常见问题(快慢指针,翻转链表,链表归并)串起来了。要点如下: 返回链表中点,若有两

分拆类问题分类汇总

摘要: 本文梳理了分拆类的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 分拆这个动作在业务场景中是一个非常常见的动作。简单理解就是把一个集合的元素分到若干个小集合里,比如有一个集合 $\{1

峰谷类问题的贪心分析:山峰、山谷、上坡、下坡、平原

摘要: 数组中与峰谷相关的概念 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们以分发糖果问题详细阐述一下峰谷类问题的分析过程。对于峰谷类问题,可以把数组视为一个山脉,我们要分析山脉上的山峰、

峰谷类问题分类汇总

摘要: 本文梳理了峰谷类的题目。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文总结了力扣上 2000 题以内的关于峰谷类问题的 12 道题。将算法相同的放到了一起,也就是双指针、贪心、二分、排

力扣1388-3n块披萨

摘要: 一个困难题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一下第 22 场双周赛 D 题。本题通过猜想和证明,可以规约为打家劫舍问题:从 n 个元素的环上选最优的 n / 3 个不相邻

力扣1383-最大的团队表现值

摘要: 双指标规划问题,TopK 问题变种 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个贪心中的双指标规划问题。可以视为 TopK 问题的变种。这是第 180 场周赛 D 题。 $1

topK问题分类汇总

摘要: topK问题分类汇总 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 题目 解决方案 373. 查找和最小的K对数字 堆+哈希表去重 1439. 有序矩阵中的第 k 个最小

力扣1381-设计一个支持增量操作的栈

摘要: 设计题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一道设计题,第 180 场周赛 B 题。主要是惰性更新的思想,将修改视为记在账上的贡献。当查询时,再查账把贡献加上去再返回。 $1

用数据结构维护前缀状态信息

摘要: 用前缀和的思想表示维护前缀上的状态信息 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 使用类似前缀和的处理方式,维护前缀或后缀的一些状态值,最常见的是维护前缀上各个元素值的计数信息,参考文章

前缀和问题分类汇总

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

最大子数组和的三种解法

摘要: 本文介绍非常基础的最大子数组和,有动态规划、分治、前缀和三种解法。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个非常经典也是非常基础的一道题,力扣53-最大子数组和,一般在接

【模板】前缀和与差分

摘要: 介绍关于前缀和与差分的算法原理,并实现力扣 303、304 这两个模板题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我来看一下前缀和与差分,这是一个基础算法,大学的算

【设计难题】力扣355-设计推特

摘要: 设计推特。链表+哈希表 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一个设计题。从社交产品中抽象出的一些功能,整体的算法框架是链表和哈希表。 $1 题目 355. 设计推特 设

dp问题分类汇总

摘要: 2020年4月知乎火了的一篇动态规划分类文章。 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 这是一份早期的 DP 问题的清单,2020年4月写的,在知乎和 Leetcode 上小火了一把