HbAlgorithmMap - 101camp/playground GitHub Wiki

LeetCode 刷题图谱

背景

为找工作准备算法, 需掌握基本数据结构及算法. 欲从零开始, 寻找迅速刷题路径及姿势.

目的

按照数据结构分类, 难度由易到难, 找出 200 道左右最经典核心算法问题, 给出刷题升级图谱.

怼友可依此路径刷题, 按照类型, 由易到难进行刻意练习, 便能迅速掌握最核心且经典算法.

顺序

BFS 顺序

- 刷 leetcode 的顺序
- Queue = [经典问题s] # 队列初始化
- while not queue:
    - Question = queue.pop(0)
    - Similars = solve(question)
    - For sim in similars:
        - If sim is good:
            - Queue.append(sim)

ps. 还一种好玩的顺序, 是不断点击随机一题 ( ̄▽ ̄).

策略

龟系

  • step1: 尽量不看答案, 自己求解, 即使得到一个 TLE(Time Limit Exceed)
  • step2: 查看 Discuss/Solution, 找到至少三种优秀解法 (时间/空间复杂度低, 结构优美)
  • step3: 理解并复现这三种解法
  • Result: 做一题攻克一题, 理解深刻, 问题速度较慢(一天 1/2 题)

兔系 (有求职需求可采用)

  • step1: 思考不超过 5 分钟, 如果没有思路, 如果有思路, 尝试 25 分钟, 否则跳转 step2
  • step2: 找到最容易懂的 AC(Accepted), 照着写一遍, 跳转下一题
  • Result: 学习速度极快(有人一天 80 题), 反复刷形成肌肉记忆, 问题掌握不牢, 再次遇到还是不会

一大堆答案哪里找

所有问题答案和讨论, 均可在 Leetcode 网站找到

题目编号 => 找到题目 => Dicuss 例如: 1. Two Sum / Discuss

经典问题集合

数组

字符串

二分查找

队列

链表

排序

搜索

动态规划

数学

CHANGELOG

  • 18.10.15 刷题顺序及策略. 沥川
  • 18.10.7 沥川创建
⚠️ **GitHub.com Fallback** ⚠️