历史文章摘要目录,建议收藏

点击可以进行文章搜索

本文是至今历史文章的一个摘要目录,发出来的推文不能修改更新了,可以在这里查看实时更新的摘要目录:

另外,老读者知道,我们的号是经过账号迁移的,导致无法通过关键词搜索搜到迁移之前的文章,所以建议收藏本文,需要时可以随时来查看。

labuladong 公众号的特点就是:套路、框架。我们不拼刷题数量,拼刷题策略和对算法核心思想的理解。

我们号的部分文章上传到了 GitHub,已经 37k star 了,大家多多点 star,让 labuladong 火起来,才能坚持输出呀。

一、必读系列

数据结构和算法学习指南 刷题也好,学习也好,框架性思维会让你轻松很多。此文是本公众号的成名之作,帮你梳理数据结构和算法的总体框架。

动态规划解题框架 此文由浅入深,解开动态规划的神秘面纱,详解动态规划算法三步走的套路,在知乎上一个月便收获了 2k 点赞。

回溯算法解题框架 回溯算法其实就是一个树的遍历问题,只要在前序和后序遍历的位置做点小动作,仅此而已。

BFS算法框架套路详解 同上,算法全 tm 是框架套路,背住,然后遇到具体问题后直接套就行了。

我作了首诗,保你闭着眼睛也能写对二分查找 二分查找的思路很简单,但细节是魔鬼。此文详解二分查找的三种形式以及原理,用一套框架统一各种形式。

我写了套框架,把滑动窗口算法变成了默写题 连 debug 的地方都给你写好了,直接套就行了。

经典动态规划:0-1 背包问题 标准的动态规划套路,走流程就行了。

经典动态规划:高楼扔鸡蛋 这是一道有名的面试题,理解题目都有一点困难,本文让你豁然开朗。

动态规划之 KMP 算法详解 我说这是讲解 KMP 算法最清楚的一篇文章,你信不?

学习数据结构和算法看什么书 简单介绍《算法4》,谈谈学算法的心态以及如何把算法应用出来。

cookie 和 session 到底是什么 你知道了他们的区别,不仅可以应对面试,还可以白嫖你知道么?

一起刷题学习 Git/SQL/正则表达式 应试教育告诉我们,没有什么技术是刷题解决不了的。

Linux 进程、线程、文件描述符的底层原理 我们经常说 Linux 的设计哲学,本文就带你了解一下。

算法学习之路 此文写了我学习算法的历程,包括我个人对如何刷题,如何看书,看什么书,等等问题的一些总结。

二、动态规划系列

动态规划详(修订版) 此文由浅入深,解开动态规划的神秘面纱,详解动态规划算法三步走的套路,在知乎上一个月便收获了 2k 点赞。

动态规划答疑篇 关于最优子结构、dp 数组的遍历方向,如果你有疑惑,可以看看这篇。

经典动态规划:0-1 背包问题 标准的动态规划套路,走流程就行了。

经典动态规划:0-1背包问题的变体 如何将问题转化成背包问题?

经典动态规划:完全背包问题 背包的物品无限,也就是完全背包问题了。

详解一道腾讯面试题:编辑距离 此文融合了本人多年的算法功力和绘画技巧,深入浅出讲解编辑距离问题。

经典动态规划:高楼扔鸡蛋 这是一道面试常见的算法问题,解法不算难,难在对题目的正确理解,本文详解题目含义以及基本思路。

经典动态规划:高楼扔鸡蛋(进阶篇) 基于上一篇文章的基本思路,探究几种效率更高的进阶解法。

团灭 LeetCode 打家劫舍系列问题 这是 LeetCode 中 House Robber 系列问题,比较有意思。

团灭 LeetCode 股票买卖问题 LeetCode 上有一系列股票买卖最佳时机的问题,奇技淫巧层出不穷,但是面试环境中你能想到吗?此文以不变应万变,一个通用思路团灭一切。

子序列解题模板:最长回文子序列 涉及子序列的问题,一般都是动态规划来解决,本文就总结一下这类问题的解题模板。

贪心算法之区间调度问题 区间调度问题(Interval Scheduling)也叫活动选择问题,是贪心算法的典型案例。

动态规划之博弈问题 对于特定的游戏规则,假设两个人都很聪明,最后谁能赢?这种博弈问题有趣且巧妙,可以用动态规划算法模型来完美解决。

动态规划之正则表达式 实现一个简单的正则通配符。怎么判断一个问题是否属于动态规划问题?本文还介绍了一种快速判断重叠子问题性质的技巧。

动态规划设计之最长递增子序列 熟悉了动态规划的基本套路,可是还是不会设计算法?此文手把手教你通用的动态规划设计思路和流程。

最长递增子序列之信封嵌套问题 将最长递增子序列拓展到二维,使用排序巧妙简化问题。

动态规划:不同的定义产生不同的解法 说动态规划是玄学,其实是有些道理的,不同的状态转移方程解法就不同。

三、高频面试系列

Union-Find 并查集算法详解 并查集算法是我第一次体会到算法的魅力,也是面试常遇到的问题。

Union-Find 算法怎么应用? 并查集算法主要是解决图的动态连通性问题,但是如何对具体的问题进行抽象呢?

经典面试题:最长回文子串 回文串的套路就是:从中间向两边扩展。

如何高效判断回文单链表? 会判断回文串了,不见得会判断链表哦。

谁能想到,求最值的算法还能优化? 微软面试心得《编程之美》中提到过的问题,你思考过吗?

二分搜索只能用来查找元素吗? 已经有文章详解了二分查找的细节,其实二分查找不只能运用于元素查找,本文介绍运用二分查找的标志。

递归思想:用锅铲给烧饼排序 这就是大名鼎鼎的煎饼排序问题,说起来其实并不算难。

详解一道腾讯面试题:编辑距离 此文融合了本人多年的算法功力和绘画技巧,深入浅出讲解编辑距离问题。

如何实现 LRU 缓存机制 LRU 缓存策略是常见/常考察的重点,其中涉及一种特殊的数据结构:哈希链表。

如何用算法高效寻找素数? 难者不会,会者不难,如何通过筛选的方法快速找出 n 以内的素数?

前缀和技巧:解决子数组问题 解决一道经典面试题,算出一共有几个和为 k 的子数组。

经典面试题:最长公共子序列 对于两个字符串的动态规划问题,应该处理?

详解一道高频面试题:接雨水 这道题目比较有意思,可以算是考察动态规划,也可以是考察双指针技巧的运用。

Two Sum 问题的核心思想 对于无序数组,一般来说需要先排序,但是 Two Sum 问题告诉我们...

经典贪心算法:跳跃游戏 每一步都做出看起来最优的选择,可以得到全局的最优解。

贪心算法之区间调度问题 区间调度问题(Interval Scheduling)也叫活动选择问题,是贪心算法的典型案例。

区间问题之合并相交区间 图文详解了如何使用算法将含有重叠区域的区间进行合并。

用算法优雅地求出两组区间的交集 给两组区间,如何快速求出它们的交集?

游戏中的敏感词过滤是如何实现的 本文是对 Trie 树的简单介绍和应用。

随机算法之水塘抽样算法 对于一个长度无限的数据流,如何随机抽取元素?

教计算机做算术:字符串乘法 为了避免整型溢出的问题,大数运算可以使用字符串进行存储,那么如何对字符串表示的数字做运算就很重要了。

这个问题不简单:寻找缺失元素 数组里缺了一个元素,怎么快速找到它?

高效寻找缺失和重复的数字 数组里缺了一个元素,重复了一个元素,如何快速找到它们?

一行代码就能解决的智力题 举例三道看似困难的算法题目,但只要开开脑洞,便能轻松解决。

三个反直觉的概率问题 男孩女孩问题,生日悖论,三门问题。思维误区到底在哪里?

一些有趣有用的位操作 有些位操作很有实际价值,有些则是让人莫名其妙的装逼技巧。

区间问题之合并相交区间 图文详解了如何使用算法将含有重叠区域的区间进行合并。

用算法优雅地求出两组区间的交集 给两组区间,如何快速求出它们的交集?

洗牌算法详解:你会排序,但你会打乱吗 此文详解如何打乱一个数组,什么才叫真的乱。

Flood Fill 算法详解 此文介绍了生活中运用广泛的 flood fill 算法,比如扫雷、消消乐、自动填充工具等。

交换数组的两部分真的很简单吗 此文介绍如何交换数组的两部分,看起来简单,实则需要有点技巧。

四、数据结构系列

如何拆解复杂问题:实现一个计算器 拆解问题,逐个击破,掌控数据结构真的就可以为所欲为!

如何高效判断回文单链表? 你知不知道,链表也可以有前序遍历和后序遍历。

3分钟看懂如何判断括号的合法性 关于括号的问题,就和栈这种数据结构脱不开关系。

图文详解二叉堆,实现优先级队列 用 GIF 动图详解二叉堆及优先级队列的实现,四个核心函数,代码不超过二十行。

递归反转链表:如何拆解复杂问题 由浅入深借助图片讲懂递归的链表算法。

递归思维:k 个一组反转链表 上篇文章的进阶篇,考察对链表和递归的理解。

设计 Tutter:合并 k 个有序链表和面向对象设计 结合面向对象设计和算法设计,实现一个简单的用户动态时间线功能键。

双指针技巧汇总 这篇文章列举并详解了在数组、链表中常见的双指针技巧。

滑动窗口算法解决子串问题 滑动窗口算法属于一种较高级的双指针技巧,用于解决一系列子串/子数组的问题。

递归实现链表操作 链表结构拥有递归性质,此文介绍链表常用操作的递归形式。

二叉搜索树操作集锦 总结了二叉树算法的通用套路,详细解释了二叉搜索树的常用操作。

如何高序数组/链表去重? 从数组中间删除元素的效率很低,使用什么处理技巧能够避免搬移数据带来的消耗呢?

单调队列解决滑动窗口问题 单调队列是一种特殊的队列,其中的元素拥有单调性,可以解决滑动窗口的相关问题。

单调栈 Monotonic Stack 的使用 一种特殊的栈,其中的元素拥有单调性,可以解决 Next Greater Number 一系列问题。

五、计算机基础

cookie 和 session 到底是什么 你知道了他们的区别,不仅可以应对面试,还可以白嫖你知道么?

一起刷题学习 Git/SQL/正则表达式 应试教育告诉我们,没有什么技术是刷题解决不了的。

Linux 进程、线程、文件描述符的底层原理 我们经常说 Linux 的设计哲学,本文就带你了解一下。

关于 Linux shell 你必须知道的 关于重定向、后台进程、双引号单引号等等问题的解析。

学会这些 shell 小技巧,我就爱上 Linux 了 Linux 实用小技巧。

介绍 Linux 文件系统:这些目录都是什么鬼?本文介绍 Linux 系统各个文件夹的作用,以及一些有用的小技巧。

x * x >= 0 一定成立吗?此文介绍了计算机对整数的编码规则(补码编码),以及整型溢出的原因及后果。

计算机是如何通信的 此文简单介绍了计算机网络的通信原理,对头疼计网的朋友也许会有帮助。

收藏多年的 Chrome 插件 学习生活中提升效率的一些小工具。

学英语的一点经验总结 作为技术人,会用英语恐怕是必不可少的,有需要的话可以看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值