Home

比较简单的两种字符串的编码与解码

摘要: 字符串的编码解码,分隔符、分块编码 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 哈夫曼树与哈夫曼编码 和 k叉哈夫曼树 中,我们学习了 2 叉和 k 叉哈夫曼树和哈夫曼编码,并用于

股票系列问题-高维动态规划视角

摘要: 本文介绍股票系列问题,主线算法是动态规划 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文介绍股票问题这个系列问题,一共六道题。有动态规划和自动机两种思考方式。本文我们串讲一下这六道题,并

位运算操作

摘要: 常见的位运算操作 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在编程中,经常会使用一些位运算操作,比如用位运算来实现集合的操作。本文我们总结一下常见的位运算操作,首先介绍基础的位运算的运算

力扣239-滑动窗口最大值

摘要: 非常经典的题目:滑动窗口最大值,有单调队列、平衡树、堆等解法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们来看一个经典题,滑动窗口最大值。主流方法有两类,一类是基于单调队列的方法,

异或的性质,数字出现次数问题

摘要: 利用异或的性质,解决数组中数字出现次数的问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 异或的性质 交换律: $p \oplus q = q \oplus p$ 结合律: $p \opl

力扣456-132模式

摘要: 用单调栈解决 132 模式问题,132 模式可以作为组件解决其他问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 面试好题 中,我提到了我认为的适合作为面试题的标准,这里复习一下

数位DP

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

众数,摩尔投票

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

区间问题汇总

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

树上倍增

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

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

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

区间合并问题

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

Trie

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

括号问题汇总

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

力扣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

前缀和问题分类汇总

摘要: 本文系统梳理了前缀和的算法要点。并汇总了 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. 设计推特 设

组合数学1-排列组合

摘要: 组合数学的基本模型,以及排列组合的相关公式 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 组合数学的核心内容是深入离散对象的计数方法,而计算机的核心内容是使用算法处理离散数据,因此随着计算机

dp问题分类汇总

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