🎼
数据结构与算法
Web 技术计算机基础数据结构与算法代码设计OthersGithub
  • 1. 复杂度分析
    • 📈1.1 大 O 表示法
    • 🎛️1.2 不同情况
  • 2. 线性数据结构
    • 🥜2.1 数组
    • 🔗2.2 链表
    • 🥞2.3 栈和队列
    • ⚖️2.4 哈希表
    • 🛠️2.5 实战与应用
      • 2.5.1 单调栈和单调队列(选学)
      • 2.5.2 前缀和、差分、双指针
      • 2.5.3 二分查找、二分答案
      • 2.5.4 字符串相关算法
      • 2.5.5 位运算
      • 2.5.6 LeetCode 题目
      • 2.5.7 JavaScript 相关
  • 3. 非线性数据结构
    • ⌨️3.1 递归与分治
      • 🚥3.1.1 递归
      • 🎛️3.1.2 分治
    • 🍇3.2 树与图
      • 3.2.1 树
        • 1. 二叉堆
        • 2. 二叉搜索树
        • 3. 字典树
        • 4. 并查集
      • 3.2.2 图
      • 3.2.3 DFS 和 BFS
    • 🛠️3.4 LeetCode 题目
  • 4. 算法
    • ⌨️4.1 排序
    • ⌨️4.1 贪心
    • ⌨️4.2 动态规划
      • 4.2.1 入门动态规划
      • 4.2.2 理解动态规划
      • 4.2.3 实战 | 最长公共子序列
      • 4.2.4 实战 | 打印方案
      • 4.2.5 动态规划之背包问题
    • ⌨️4.3 图论
      • 4.3.1 最短路
      • 4.3.2 最小生成树
      • 4.3.3 高级搜索
    • 🛠️4.5 LeetCode 题目
  • 5. 高级数据结构
    • 5.1 平衡树
    • 5.2 树状数组和线段树(选学)
  • 附录
    • 1. 概览
    • 2. LeetCode 按思路
Powered by GitBook
On this page
  1. 附录

2. LeetCode 按思路

题目
思路

26. 删除有序数组中的重复项(E) 283. 移动零(E) 88. 合并两个有序数组(E) 15. 三数之和(M) 11. 盛最多水的容器(M)

双指针 双指针 双指针 排序+双指针 双指针

141. 环形链表-是否有环(E) 142. 环形链表 II-入环节点(M) 19. 删除链表倒数第 n 个结点(M) 876. 求链表的中间结点(E)

Hash, 快慢指针 Hash, 快慢指针 迭代长度, 栈, 快慢指针 迭代, 迭代+数组, 快慢指针

206. 反转链表(E) 21. 合并两个有序链表(E) 25. K个一组反转链表(H) 66. 加一(E)

迭代, 递归 迭代, 递归 迭代 迭代+数学

20. 有效的括号(E) 155. 最小栈-前缀最小值(E)

迭代+栈 迭代+辅助栈

641. 设计循环双端队列(M)

循环数组, 双向循环链表

1. 两数之和(E) 811. 子域名访问计数(M) 697. 数组的度(E) 49. 字母异位词分组(M) 146. LRU 缓存(M)

Hash, 排序+双指针 Hash Hash hash(key)=计数/排序/质数乘积 Hash+双向循环链表

304. 二维区域和检索 - 矩阵不可变(M) 560. 和为 K 的子数组(M)

前缀和 前缀和+Hash

53. 最大子数组和(E)

贪心, 动态规划, 分治

169. 多数元素(E)

Hash, 排序, 投票, 分治

1523. 在区间范围内统计奇数数目(E)

数学

Previous1. 概览

Last updated 3 years ago