全面征服LeetCode-再肝200篇算法

Posted 纵横千里,捭阖四方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全面征服LeetCode-再肝200篇算法相关的知识,希望对你有一定的参考价值。

距离上次发表100篇算法已经过去几个月了,从今天开始,再肝150篇算法,主要写高级算法问题。

基础算法和高级算法什么区别呢?这个没有定论,我一般将以数据结构为基础进行简单变形得到的题目称为基础算法。而一些比较特殊的结构、比较复杂的问题,涉及一些典型思想的问题,都称为高级算法。

练习算法最好的材料无疑是LeetCode,但是题目太多,一题题做要花很久的时间,所以我们还是按照专题,每次选择一些典型的题目集中分析,题目不在多,也不能太少,适中最好。目前高级算法我想到的主题如下。这个是目前大致的想法,后面会根据具体内容逐步扩展,本文是后面整个200篇的总目录。

不过事先声明,写这套博客也是我在不断学习的过程,很多图示、表述等是从LeetCode、教材等等地方拷贝来的。有些材料介绍了很多内容,我根据自己的理解做了一些调整,在此表示感谢。

1.双指针和滑动窗口

双指针在数组和链表中能解决很多问题,但是还有很多高级的热点题目还是会用这个思想,所以我们首先认真梳理相关问题。滑动窗口属于双指针一个典型的案例吧,实际应用也很多,特别是在限流、熔断等场景下。这里我们统一学习。

滑动窗口1:双指针的基本思想

滑动窗口2:滑动窗口算法基本原理

滑动窗口3:Leetcode 11 盛水最多的容器

滑动窗口4:LeetCode209. 长度最小的子数组

滑动窗口5:LeetCode 76. 最小覆盖子串

滑动窗口6:LeetCode3.无重复字符的最长子串

滑动窗口7:Leetcode 1004. 最大连续1的个数 III

滑动窗口8:75. 颜色分类-经典荷兰国旗问题

2.前缀树

3.单调栈与单调队列

4.分治与迭代

5.BFS和DFS

6.位图与异或

7.数学与数字

8.回溯

9.贪心

10.并查集和差分

11.动态规划

12.设计题

13.几何问题

14.图算法

以上是关于全面征服LeetCode-再肝200篇算法的主要内容,如果未能解决你的问题,请参考以下文章

200道大数据面试常考Leetcode算法题--数组篇02(python带代码解析)

开始新主题——征服面试算法系列

Uptime Institute完成对LEET Security S.L.的收购,将提供全面的网络安全评级系统

日常系列LeetCode《11·堆和优先队列篇》

用 Swift 来刷 leet code 吧

leet_11