maxed out 这个词组的意思是刷爆,原意主要是指信用卡的刷爆。
本仓库用这个名称的含义就是说这是个刷爆 leetcode 算法题的仓库,并随着每周的周赛等新增题目进行日常更新。编程语言以 C++ 为主,Python 为辅,少量 Java。
本仓库的目录结构如下:
algorithm
: leetcode 算法相关的题目的代码,随着每周的周赛进行更新。cpp
java
python
interview
: leetcode 收录的算法题书的题,目前已收录两本,代码覆盖所有题。剑指offer2
程序员面试金典6
LCP
: leetcode 举办的竞赛的题,有新的比赛时会更新。multithread
: leetcode 的多线程题目,正在更新中。shell
: leetcode 的 shell 题目,只有 4 道。cluster
: 细粒度标签题目列表的思维导图,包含问题场景、数据结构、算法三个维度。正在更新中。recommend
: 从面试官的角度推荐的适合面试的题,需要满足一些条件,持续更新中。
下面介绍以下比较关键的 algorithm,cluster,和 recommend 这三个目录。
(1) algorithm 中记录的是每道题的代码。
所有代码均为我在刷题时写的,并且每道题都有关于优化方法或者一题多解的代码记录。由于刷题过程很长,早期的代码显然不如中后期的代码好看,不过刷了 100 题左右基本就好了,贵在真实。
(2) cluster 中记录各个细粒度的算法标签以及其对应的题目编号,以思维导图的形式呈现。主要分为场景、数据结构、算法三个维度。
在场景这个维度中,我们将同一类问题组织到一起,解法可能设计很多算法。例如区间问题属于比较大的一类问题,下面的图将 leetcode 中所有与区间相关的问题按照解决方案聚合到一起了,方便大家集中刷题。
在数据结构这个维度中,我们将数据机构层面相同的题组织到一起。例如 leetcode 上设计功能系统类型的题有很多,我们将所有题按主要的数据结构组织到一起,方便集中刷题。
在算法这个维度中,我们将算法那层面相同的题组织到一起。例如常见的前缀和,虽然大量的题都属于前缀和的题,但是套路是很多的,我们将所有前缀和的题按照各个套路聚合到一起,方便大家集中刷题。
(3) recommend: 我比较推荐的适合用来面试的题。