算法
文章平均质量分 95
明里贵树
这个作者很懒,什么都没留下…
展开
-
算法合集:回溯
回溯一、简单回溯——子集类回溯:选?不选?1、例题说到回溯的算法题,就像是——好像会写但好像又不会写。回溯倒像是一种暴力枚举,另一种形式的dp递推——推不动回去不就是了嘛,搭配上剪枝或能比较快速的推动算法。一、简单回溯——子集类回溯:选?不选?诸如子集,全排列这种类型的题目就属于简单类型的回溯——只需要考虑当下是选还是不选听上去挺抽象的,结合例题就很好理解1、例题1)例题一:LeetCode 77 组合说白了从1 ~ n,选取k个数,返回所有组合对一个链表,用递归进行维护,当长度小于k时表示原创 2021-10-28 22:15:01 · 248 阅读 · 0 评论 -
算法合集:前缀和——听说有人说我简单?
前缀和:你当真会用我吗?原创 2021-10-18 00:47:17 · 280 阅读 · 0 评论 -
算法合集:滚动哈希——干脆叫前缀和得了
滚动哈希——Rabin-Karp原创 2021-10-02 14:01:29 · 3239 阅读 · 0 评论 -
算法合集:动态规划(二)——状态dp
动态规划(二):状态dp原创 2021-10-01 15:08:44 · 1067 阅读 · 2 评论 -
算法合集:动态规划(一)——线性dp
动态规划(一):线性dp一、常规线性dp1、简单的线性dp2、稍复杂的线性dp二、字符串类线性dp专讲dp可能简单算法中的难度天花板了,但dp并非完全摸不头脑,下面我们从简单题入手来讲解dp一、常规线性dp线性dp:从一口气头推到尾,各个子问题相对独立线性dp一般比较明显的看出递推公式,并且比较容易优化1、简单的线性dp简单是指:dp的定义简单,子问题容易找,但实现起来并不简单,有些细节需要注意1)例题:LeetCode 322 零钱兑换dp定义比较清晰维护数组dp,dp[i]表示以原创 2021-09-22 22:41:14 · 1422 阅读 · 1 评论 -
算法合集:位运算——就两个数字还想劝退我?
位运算原创 2021-09-20 12:13:38 · 476 阅读 · 0 评论 -
算法合集:二分——pdd每次都能砍一半吗?
二分——分治的孪生兄弟原创 2021-09-12 17:11:37 · 573 阅读 · 0 评论 -
算法合集:“分治”思想——算法帝国的”推恩令“
分治思想及其衍生想法算法中有许多特殊的解法,不求一步到位的解出题目,而是通过把大问题简化成小的子问题来解决。实现形式可以借用递归。另外dp的思想也与之类似,都是定义子问题 + 设定边界条件来完成算法。一、全局分治全局分治的意思是,需要对全局进行分治才能得出最后的答案,需要维护全局的状态空间(不重也不漏)才能找到最终结果。 一般题目的暗示语句为:“所有符合条件的解”的选择类型的算法,或是类似于“将数组排序”的维护类的算法。1、题目一:LeetCode 23 合并K个升序链表合并两个升序数组是很好写的原创 2021-09-11 23:37:51 · 237 阅读 · 1 评论