Skip to content

Tiakon/algorithm-base

Repository files navigation

Leetcode 攻略

本文档整理了 LeetCode 上的各类的习题集与学习手册,并记录下自己的学习心得。

1. 解题心得

解题流程:

  1. 读懂题意,分析题型

    1. 二分法、数组排序、双指针、哈希表
  2. 列出处理逻辑。

  3. 将处理逻辑转换成代码。

  4. 执行代码验证。

    1. 结果正确,分享题解。
    2. 结果错误,根据结果优化处理逻辑重复2到4步骤。

刷题注意事项:

  1. 解题时间应控制在1~2小时之间。不必在一道题上花费太多时间,刚开始刷题应多学习解题思路、技巧、多见题型。
  2. 每道题应该有两种解法,时间复杂度最优与空间复杂度最优。不必最求太多的解法,刚开始刷题应先熟悉常规解法。

刷题顺序:

2.学习笔记

数组类算法

数组和字符串

查找表类算法

哈希表

链表

队列&栈

二分查找

二叉树

二叉搜索树

前缀树

动态规划路径问题

初级算法

中级算法

高级算法

图解剑指Offer

设计数据结构

3. 习题分类

3.1 数据结构

  1. 字符串
  2. 数组
    1. 矩阵
  3. 哈希表
  4. 链表
    1. 双向链表
    2. 队列
      1. 单调队列
      2. 堆(优先队列)
      1. 单调栈
    1. 二叉树
    2. 字典树
    3. 线段树
    4. 二叉索引树(树状数组)

3.2 算法思想

  1. 排序
  2. 分治
    1. 二分查找
    2. 双指针
    3. 滑动窗口
  3. 模拟流程
  4. 递归、回溯
    1. 递归
    2. 回溯
  5. 遍历(枚举)
  6. 前缀和
  7. 位运算
  8. 几何
  9. 贪心
  10. KMP
  11. 动态规划
    1. 最短路径
    2. 状态压缩

3.3 热门题集

About

leetcode code base

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages