全面征服LeetCode-再肝200篇算法
Posted 纵横千里,捭阖四方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全面征服LeetCode-再肝200篇算法相关的知识,希望对你有一定的参考价值。
距离上次发表100篇算法已经过去几个月了,从今天开始,再肝150篇算法,主要写高级算法问题。
基础算法和高级算法什么区别呢?这个没有定论,我一般将以数据结构为基础进行简单变形得到的题目称为基础算法。而一些比较特殊的结构、比较复杂的问题,涉及一些典型思想的问题,都称为高级算法。
练习算法最好的材料无疑是LeetCode,但是题目太多,一题题做要花很久的时间,所以我们还是按照专题,每次选择一些典型的题目集中分析,题目不在多,也不能太少,适中最好。目前高级算法我想到的主题如下。这个是目前大致的想法,后面会根据具体内容逐步扩展,本文是后面整个200篇的总目录。
不过事先声明,写这套博客也是我在不断学习的过程,很多图示、表述等是从LeetCode、教材等等地方拷贝来的。有些材料介绍了很多内容,我根据自己的理解做了一些调整,在此表示感谢。
1.双指针和滑动窗口
双指针在数组和链表中能解决很多问题,但是还有很多高级的热点题目还是会用这个思想,所以我们首先认真梳理相关问题。滑动窗口属于双指针一个典型的案例吧,实际应用也很多,特别是在限流、熔断等场景下。这里我们统一学习。
滑动窗口7:Leetcode 1004. 最大连续1的个数 III
2.前缀树
3.单调栈与单调队列
4.分治与迭代
5.BFS和DFS
6.位图与异或
7.数学与数字
8.回溯
9.贪心
10.并查集和差分
11.动态规划
12.设计题
13.几何问题
14.图算法
以上是关于全面征服LeetCode-再肝200篇算法的主要内容,如果未能解决你的问题,请参考以下文章
200道大数据面试常考Leetcode算法题--数组篇02(python带代码解析)