Logo
☆☆☆☆☆
0.0
Intermediate
85h

掌握编码面试模式

面对成千上万可能的题目,准备编程面试似乎是一项不可能完成的任务。然而,只要采用科学的方法,编程面试准备完全可以在几周内完成。停止无休止地刷题,通过掌握编程面试中的核心模式,更高效地进行准备。 本课程将带你深入理解常见编程面试题背后的底层模式。掌握这些关键模式后,你只需分析题目描述,就能正确拆解并解答任何问题。这一方法由FAANG公司的招聘经理设计,旨在帮助你应对苹果、谷歌、Meta、微软和亚马逊等大型科技公司常见的面试环节。 不久之后,你将具备应对最复杂难题的能力,真正理解编程面试的本质,并自信地提升自己的职业发展。 本课程还提供JavaScript、Python、Go和C++版本,更多语言即将上线!

31 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
掌握编码面试模式
面对成千上万可能的题目,准备编程面试似乎是一项不可能完成的任务。然而,只要采用科学的方法,编程面试准备完全可以在几周内完成。停止无休止地刷题,通过掌握编程面试中的核心模式,更高效地进行准备。 本课程将带你深入理解常见编程面试题背后的底层模式。掌握这些关键模式后,你只需分析题目描述,就能正确拆解并解...

WHAT YOU'LL LEARN

掌握常见编程面试题背后的本质模式——无需反复刷无数题目

Content

31 Lessons • 0 Quizzes • 0 Challenges

入门
  1. 1

    课程概述

  2. 2

    谁应该参加此课程

双指针
  1. 1

    双指针简介

  2. 2

    回文串验证

  3. 3

    解决方案:验证回文串

  4. 4

    三数之和

  5. 5

    解决方案:三数之和

  6. 6

    删除链表倒数第 N 个节点

  7. 7

    解决方案:删除链表倒数第 N 个节点

  8. 8

    颜色排序

  9. 9

    解决方案:颜色分类

  10. 10

    反转字符串中的单词

  11. 11

    解决方案:反转字符串中的单词

  12. 12

    有效单词缩写

  13. 13

    解决方案:有效的单词缩写

  14. 14

    对称数(Strobogrammatic Number)(checkpoint)

  15. 15

    解决方案:对称数字

  16. 16

    使回文串所需的最少移动次数

  17. 17

    解决方案:使回文串所需的最少移动次数

  18. 18

    使用相同数字的下一个回文数

  19. 19

    解决方案:使用相同数字构造下一个回文数

  20. 20

    二叉树 III 中的最低公共祖先

  21. 21

    解决方案:二叉树 III 的最低公共祖先

  22. 22

    统计和小于目标值的数对

  23. 23

    解决方案:统计和小于目标值的数对

  24. 24

    统计固定边界的子数组

  25. 25

    解决方案:统计固定边界的子数组

  26. 26

    获取最大得分

  27. 27

    解决方案:获取最大得分

  28. 28

    从盒子 II 中找出字典序最大的字符串

  29. 29

    解决方案:从盒子 II 中找出字典序最大的字符串

  30. 30

    创建最大数

  31. 31

    解决方案:创建最大数

  32. 32

    有效回文 II

快慢指针
  1. 1

    快慢指针简介

  2. 2

    快乐数

  3. 3

    解决方案:快乐数

  4. 4

    链表环

  5. 5

    解决方案:链表环

  6. 6

    链表的中间节点

  7. 7

    解决方案:链表的中间节点

  8. 8

    循环数组中的环

  9. 9

    解决方案:循环数组环路

  10. 10

    寻找重复的数字

  11. 11

    解决方案:寻找重复的数字

  12. 12

    回文链表

  13. 13

    解决方案:回文链表

  14. 14

    链表中的最大孪生和

  15. 15

    解决方案:链表的最大孪生和

  16. 16

    将一个循环链表拆分

  17. 17

    解决方案:拆分循环链表

  18. 18

    环形链表 III

  19. 19

    解决方案:链表环 III

  20. 20

    链表中的环 IV

  21. 21

    解决方案:链表环 IV

滑动窗口
  1. 1

    滑动窗口简介

  2. 2

    重复的DNA序列

  3. 3

    解决方案:重复的DNA序列

  4. 4

    滑动窗口最大值

  5. 5

    解决方案:滑动窗口最大值

  6. 6

    最小窗口子序列

  7. 7

    解决方案:最小窗口子序列

  8. 8

    最长重复字符替换

  9. 9

    解决方案:最长重复字符替换

  10. 10

    最小窗口子串

  11. 11

    解决方案:最小窗口子串

  12. 12

    最长不重复字符子串

  13. 13

    解决方案:无重复字符的最长子串

  14. 14

    最小长度子数组和

  15. 15

    解决方案:最小长度子数组和

  16. 16

    最大平均子数组 I

  17. 17

    解决方案:最大平均子数组 I

  18. 18

    饮食计划表现

  19. 19

    解决方案:饮食计划表现

  20. 20

    水果篮

  21. 21

    解决方案:水果装篮

  22. 22

    存在重复元素 II

  23. 23

    解决方案:存在重复元素 II

  24. 24

    数组中出现频率最高的元素

  25. 25

    解决方案:出现频率最高的元素

  26. 26

    包含 K 个不同整数的子数组

  27. 27

    解决方案:包含恰好 K 个不同整数的子数组

  28. 28

    计算得分小于 K 的子数组数量

  29. 29

    解决方案:统计得分小于 K 的子数组数量

  30. 30

    统计具有 K 次频率字符的子字符串 II

  31. 31

    解决方案:统计字符频率恰好为 K 的子字符串 II

合并区间
  1. 1

    合并区间简介

  2. 2

    合并区间

  3. 3

    解决方案:合并区间

  4. 4

    插入区间

  5. 5

    解决方案:插入区间

  6. 6

    区间列表的交集

  7. 7

    解决方案:区间列表的交集

  8. 8

    员工空闲时间

  9. 9

    解决方案:员工空闲时间

  10. 10

    计算无会议的天数

  11. 11

    解决方案:统计没有会议的天数

  12. 12

    删除覆盖的区间

  13. 13

    解决方案:移除被覆盖的区间

  14. 14

    拼车

  15. 15

    解决方案:拼车

  16. 16

    会议室 II

链表的原地操作
  1. 1

    链表的原地操作入门

  2. 2

    反转链表

  3. 3

    解决方案:反转链表

  4. 4

    k 个一组反转链表

  5. 5

    解决方案:每 k 个一组反转链表

  6. 6

    反转链表 II

  7. 7

    解决方案:反转链表 II

  8. 8

    重排链表

  9. 9

    解决方案:重排链表

  10. 10

    交换链表中的节点

  11. 11

    解决方案:交换链表中的节点

  12. 12

    按偶数长度分组反转链表节点

  13. 13

    解决方案:按偶数长度分组反转链表节点

  14. 14

    从排序链表中删除重复项

  15. 15

    解决方案:从排序链表中删除重复项

  16. 16

    移除链表元素

  17. 17

    解决方案:删除链表元素

  18. 18

    将链表拆分为若干部分

  19. 19

    解决方案:将链表拆分为若干部分

  20. 20

    删除链表中每 M 个节点后删除接下来的 N 个节点

  21. 21

    解决方案:删除链表中每 M 个节点后删除接下来的 N 个节点

  22. 22

    在有序循环链表中插入节点

  23. 23

    解决方案:向有序循环链表中插入节点

  24. 24

    两两交换链表中的节点

堆
  1. 1

    堆简介

  2. 2

    IPO

  3. 3

    解决方案:IPO

  4. 4

    从数据流中找出中位数

  5. 5

    解决方案:从数据流中找出中位数

  6. 6

    滑动窗口中位数

  7. 7

    解决方案:滑动窗口中位数

  8. 8

    在最少的机器上安排任务

  9. 9

    解决方案:在最少的机器上安排任务

  10. 10

    会议室 III

  11. 11

    解决方案:会议室 III

  12. 12

    按奇偶性交换数字后得到的最大数

  13. 13

    解决方案:通过奇偶性交换数字后得到的最大数

  14. 14

    寻找右区间

  15. 15

    解决方案:寻找右区间

  16. 16

    连接木棍的最低成本

  17. 17

    解决方案:连接木棍的最低成本

  18. 18

    最长快乐字符串

  19. 19

    解决方案:最长快乐字符串

  20. 20

    最大平均通过率

  21. 21

    解决方案:最大平均通过率

  22. 22

    最小未占用椅子的编号

  23. 23

    解决方案:最小未占用椅子的编号

  24. 24

    用多次求和构造目标数组

  25. 25

    解决方案:用多次求和构造目标数组

K路归并
  1. 1

    K路归并简介

  2. 2

    合并两个有序数组

  3. 3

    解决方案:合并两个有序数组

  4. 4

    M个有序列表中的第K小数字

  5. 5

    解决方案:M个已排序列表中的第K小数字

  6. 6

    找到和最小的 K 对数

  7. 7

    解决方案:查找和最小的 K 对

  8. 8

    合并 K 个已排序的链表

  9. 9

    解决方案:合并 K 个已排序的链表

  10. 10

    在有序矩阵中查找第 K 小的元素

  11. 11

    解决方案:有序矩阵中的第 K 小元素

  12. 12

    第K小的质数分数

  13. 13

    解法:第 K 小的素数分数

  14. 14

    超级丑数

  15. 15

    解法:超级丑数

前 K 个元素
  1. 1

    K个最大元素简介

  2. 2

    流中的第K大元素

  3. 3

    解决方案:数据流中的第K大元素

  4. 4

    重新排列字符串

  5. 5

    解决方案:重新排列字符串

  6. 6

    最接近原点的 K 个点

  7. 7

    解决方案:到原点的 K 个最近点

  8. 8

    前 K 个高频元素

  9. 9

    解决方案:前 K 个高频元素

  10. 10

    数组中的第K个最大元素

  11. 11

    解决方案:数组中的第K个最大元素

  12. 12

    第三大的数字

  13. 13

    解决方案:第三大的数字

  14. 14

    找到长度为 K 的最大和子序列

  15. 15

    解决方案:寻找长度为 K 的最大和子序列

  16. 16

    雇佣 K 名工人的最低成本

  17. 17

    解决方案:雇佣 K 名工人的最低成本

  18. 18

    应用 K 次操作后的最大得分

  19. 19

    解决方案:执行 K 次操作后的最大得分

  20. 20

    找到数组中的第 K 个最大整数

  21. 21

    解决方案:在数组中找到第 K 个最大的整数

  22. 22

    团队的最大性能

  23. 23

    解决方案:团队的最大性能

  24. 24

    从 K 个列表中覆盖元素的最小范围

  25. 25

    解决方案:覆盖 K 个列表中元素的最小范围

  26. 26

    从两个数组中找出 K 个最大和组合

  27. 27

    解决方案:从两个数组中找出 K 个最大和的组合

  28. 28

    K 个空槽

  29. 29

    解决方案:K 个空槽

  30. 30

    K 次增量后的最大乘积

  31. 31

    解决方案:K 次增量后的最大乘积

  32. 32

    求数组的第 K 大和

  33. 33

    解决方案:求数组的第 K 大和

  34. 34

    删除 K 个元素后剩下的唯一整数的最小数量

  35. 35

    解决方案:删除 K 个元素后剩余的最少唯一整数个数

修改后的二分查找
  1. 1

    二分查找的变体介绍

  2. 2

    二分查找

  3. 3

    解决方案:二分查找

  4. 4

    搜索旋转排序数组

  5. 5

    解决方案:在旋转排序数组中搜索

  6. 6

    第一个错误版本

  7. 7

    解决方案:第一个错误版本

  8. 8

    按权重随机选择

  9. 9

    解决方案:按权重随机选择

  10. 10

    找到 K 个最接近的元素

  11. 11

    解决方案:找到 K 个最接近的元素

  12. 12

    在排序数组中查找唯一元素

  13. 13

    解决方案:有序数组中的单一元素

  14. 14

    在边界数组中给定索引处的最大值

  15. 15

    解决方案:在限定数组中求给定索引处的最大值

  16. 16

    矩阵中最强的 K 行

  17. 17

    解决方案:矩阵中最强的 K 行

  18. 18

    分割数组的最大值

  19. 19

    解决方案:分割数组的最大值

  20. 20

    寻找旋转排序数组中的最小值 II

  21. 21

    解决方案:在旋转排序数组 II 中查找最小值

  22. 22

    N 台计算机的最大运行时间

  23. 23

    解决方案:N 台计算机的最大运行时间

  24. 24

    最小化到最近加油站的最大距离

  25. 25

    解决方案:最小化到加油站的最大距离

  26. 26

    分巧克力

  27. 27

    解决方案:分割巧克力

  28. 28

    将数组拆分为两个数组以最小化和之差

  29. 29

    解决方案:将数组拆分为两个数组以最小化和之差

  30. 30

    搜索旋转排序数组 II

子集
  1. 1

    子集介绍

  2. 2

    子集

  3. 3

    解决方案:子集

  4. 4

    排列

  5. 5

    解决方案:排列

  6. 6

    电话号码的字母组合

  7. 7

    解决方案:电话号码的字母组合

  8. 8

    生成括号

  9. 9

    解决方案:生成括号

  10. 10

    字母大小写排列

  11. 11

    解决方案:字母大小写排列

  12. 12

    字母瓷砖可能性

  13. 13

    解决方案:字母瓷砖的可能性

  14. 14

    寻找 K 个元素的子集

贪心算法
  1. 1

    贪心算法简介

  2. 2

    跳跃游戏

  3. 3

    解决方案:跳跃游戏

  4. 4

    救人的船

  5. 5

    解决方案:救人的船

  6. 6

    加油站

  7. 7

    解决方案:加油站

  8. 8

    两城调度

  9. 9

    解决方案:两城调度

  10. 10

    最少加油次数

  11. 11

    解决方案:最少加油次数

  12. 12

    最大回文数

  13. 13

    解决方案:最大的回文数字

  14. 14

    分发饼干

  15. 15

    解决方案:分发饼干

  16. 16

    水果的重新排列

  17. 17

    解决方案:重新排列水果

  18. 18

    将二进制数减少到一所需步骤数

  19. 19

    解决方案:将二进制数减少到一所需步骤数

  20. 20

    最大交换

  21. 21

    解决方案:最大交换

  22. 22

    可以放置花

  23. 23

    解决方案:可以放置花朵

  24. 24

    字符串中的最大奇数

  25. 25

    解决方案:字符串中的最大奇数

  26. 26

    糖果

  27. 27

    解决方案:糖果

  28. 28

    将数组排序所需的最少替换次数

  29. 29

    解决方案:使数组有序所需的最少替换次数

  30. 30

    跳跃游戏 II

  31. 31

    买卖股票的最佳时机

回溯法
  1. 1

    回溯法简介

  2. 2

    N 皇后 II

  3. 3

    解决方案:N 皇后 II

  4. 4

    单词搜索

  5. 5

    解决方案:单词搜索

  6. 6

    打家劫舍 III

  7. 7

    解决方案:打家劫舍 III

  8. 8

    复原IP地址

  9. 9

    解决方案:恢复IP地址

  10. 10

    洪水填充

  11. 11

    解决方案:洪水填充

  12. 12

    最少移动次数将石子分布到网格中

  13. 13

    解决方案:将石头散布到网格中的最少移动次数

  14. 14

    二叉树路径

  15. 15

    解决方案:二叉树路径

  16. 16

    二进制手表

  17. 17

    解决方案:二进制手表

  18. 18

    最优账户结算

  19. 19

    解决方案:最优账户结算

  20. 20

    将字符串拆分为最多数量的唯一子字符串

  21. 21

    解决方案:将字符串拆分为最多数量的唯一子字符串

  22. 22

    从源节点到目标节点的所有路径

  23. 23

    解决方案:从源节点到目标节点的所有路径

  24. 24

    删除无效括号

  25. 25

    解决方案:删除无效括号

  26. 26

    N 皇后

  27. 27

    解决方案:N 皇后问题

  28. 28

    不同路径 III

  29. 29

    解决方案:不同的路径 III

  30. 30

    数独求解器

  31. 31

    火柴拼正方形

动态规划
  1. 1

    动态规划简介

  2. 2

    0/1 背包问题

  3. 3

    解决方案:0/1 背包问题

  4. 4

    零钱兑换

  5. 5

    解决方案:硬币找零

  6. 6

    第 N 个 Tribonacci 数

  7. 7

    解法:第 N 个三数斐波那契数

  8. 8

    分割等和子集

  9. 9

    解决方案:分割等和子集

  10. 10

    计算位数

  11. 11

    解决方案:计数位

  12. 12

    01 矩阵

  13. 13

    解决方案:01 矩阵

  14. 14

    打家劫舍 II

  15. 15

    解决方案:打家劫舍 II

  16. 16

    最大乘积子数组

  17. 17

    解决方案:最大乘积子数组

  18. 18

    组合总和

  19. 19

    解决方案:组合总和

  20. 20

    单词拆分

  21. 21

    解决方案:单词拆分

  22. 22

    回文子串

  23. 23

    解决方案:回文子串

  24. 24

    最长公共子序列

  25. 25

    解决方案:最长公共子序列

  26. 26

    单词拆分 II

  27. 27

    解决方案:单词拆分 II

  28. 28

    解码方法

  29. 29

    解法:解码方法

  30. 30

    计算良好子序列的数量

  31. 31

    解决方案:计算良好子序列的数量

  32. 32

    二叉树摄像头

  33. 33

    解决方案:二叉树摄像头

  34. 34

    根据字典形成目标字符串的方法数

  35. 35

    解决方案:根据字典形成目标字符串的方法数

  36. 36

    爬楼梯

循环排序
  1. 1

    Cyclic Sort 介绍

  2. 2

    循环排序

  3. 3

    解决方案:循环排序

  4. 4

    缺失数字

  5. 5

    解决方案:缺失的数字

  6. 6

    第一个缺失的正数

  7. 7

    解决方案:第一个缺失的正数

  8. 8

    找出错误的一对

  9. 9

    解决方案:寻找错误的一对

  10. 10

    按奇偶性排序数组 II

  11. 11

    解决方案:按奇偶性对数组进行排序 II

  12. 12

    找出前 K 个缺失的正整数

拓扑排序
  1. 1

    拓扑排序简介

  2. 2

    编译顺序

  3. 3

    解决方案:编译顺序

  4. 4

    外星人字典

  5. 5

    解决方案:外星人字典

  6. 6

    验证字典序

  7. 7

    解决方案:验证字典序

  8. 8

    课程表 II

  9. 9

    解决方案:课程表 II

  10. 10

    课程安排

  11. 11

    解决方案:课程安排

  12. 12

    根据条件构建矩阵

  13. 13

    解决方案:根据条件构建矩阵

  14. 14

    不同相邻字符的最长路径

  15. 15

    解决方案:相邻字符不同的最长路径

  16. 16

    并行课程 III

  17. 17

    解决方案:并行课程 III

  18. 18

    根据给定的原料找出所有可能的菜谱

排序与搜索
  1. 1

    排序与搜索入门

  2. 2

    找出两个数组之间的距离值

  3. 3

    解决方案:找出两个数组之间的距离值

  4. 4

    最长子序列(和受限)

  5. 5

    解决方案:最长子序列(和受限)

  6. 6

    在排序数组后查找目标索引

  7. 7

    解决方案:排序数组后查找目标索引

  8. 8

    统计两个数组中的配对数量

  9. 9

    解决方案:统计两个数组中的配对数量

  10. 10

    有效三角形数目

  11. 11

    解决方案:有效的三角形数量

  12. 12

    使数组所有元素相等的最少操作次数

  13. 13

    解决方案:使数组所有元素相等的最少操作次数

  14. 14

    数组变异后和最接近目标值

  15. 15

    解决方案:使数组变异后的和最接近目标值

  16. 16

    有序子数组和的范围和

  17. 17

    解决方案:有序子数组和的范围和

  18. 18

    两球之间的磁力

  19. 19

    解决方案:两球之间的磁力

  20. 20

    查找第 K 小的数对距离

  21. 21

    解决方案:寻找第 K 小的数对距离

  22. 22

    包装造成的最小空间浪费

  23. 23

    解决方案:包装造成的最小空间浪费

  24. 24

    俄罗斯套娃信封

  25. 25

    解决方案:俄罗斯套娃信封

  26. 26

    将弹珠放入袋子

  27. 27

    解决方案:将玻璃珠放入袋子

  28. 28

    H 指数

  29. 29

    解决方案:H 指数

  30. 30

    两数之和小于 K

  31. 31

    从范围内选择整数的最大数量 I

矩阵
  1. 1

    矩阵简介

  2. 2

    设置矩阵零值

  3. 3

    解决方案:设置矩阵零值

  4. 4

    旋转图像

  5. 5

    解决方案:旋转图像

  6. 6

    螺旋矩阵

  7. 7

    解决方案:螺旋矩阵

  8. 8

    球将落在哪里

  9. 9

    解决方案:球将落在哪里

  10. 10

    转置矩阵

  11. 11

    解决方案:转置矩阵

  12. 12

    统计排序矩阵中的负数个数

  13. 13

    解决方案:统计排序矩阵中的负数个数

  14. 14

    到达目的地所需的最短时间(不被淹死)

  15. 15

    解决方案:到达目的地所需的最短时间(避免被淹)

  16. 16

    最小矩形包围黑色像素

  17. 17

    解决方案:包围黑色像素的最小矩形

  18. 18

    岛屿周长

  19. 19

    解决方案:岛屿周长

  20. 20

    将一维数组转换为二维数组

  21. 21

    解决方案:将一维数组转换为二维数组

  22. 22

    螺旋矩阵 II

  23. 23

    解法:螺旋矩阵 II

  24. 24

    翻转列以最大化相同行的数量

  25. 25

    解决方案:翻转列以最大化相同行的数量

  26. 26

    清扫机器人清理的空格数量

  27. 27

    解决方案:清洁机器人清扫的空格数量

  28. 28

    最小化网格中的最大值

  29. 29

    解决方案:最小化网格中的最大值

  30. 30

    第K小的乘法表中的数字

  31. 31

    解决方案:乘法表中的第 K 小数字

  32. 32

    在不断上升的水中游泳

  33. 33

    解决方案:在不断上升的水中游泳

  34. 34

    最佳会合点

  35. 35

    解决方案:最佳会合点

栈
  1. 1

    栈简介

  2. 2

    基本计算器

  3. 3

    解决方案:基本计算器

  4. 4

    删除字符串中的所有相邻重复项

  5. 5

    解决方案:移除字符串中的所有相邻重复字符

  6. 6

    删除最少字符使括号有效

  7. 7

    解决方案:删除最少字符以使括号有效

  8. 8

    函数的独占时间

  9. 9

    解决方案:函数的独占时间

  10. 10

    扁平化嵌套列表迭代器

  11. 11

    解决方案:扁平化嵌套列表迭代器

  12. 12

    使用栈实现队列

  13. 13

    解决方案:使用栈实现队列

  14. 14

    每日温度

  15. 15

    解决方案:每日温度

  16. 16

    解码字符串

  17. 17

    解法:解码字符串

  18. 18

    删除子字符串后字符串的最小长度

  19. 19

    解决方案:删除子字符串后字符串的最短长度

  20. 20

    有效子数组的数量

  21. 21

    解决方案:有效子数组的数量

  22. 22

    队列中可见人数

  23. 23

    解决方案:队列中可见人数

  24. 24

    解析布尔表达式

  25. 25

    解决方案:解析布尔表达式

  26. 26

    有效的括号

图
  1. 1

    图论入门

  2. 2

    网络延迟时间

  3. 3

    解决方案:网络延迟时间

  4. 4

    迷宫中的路径通往同一房间

  5. 5

    解决方案:通向同一房间的迷宫路径

  6. 6

    克隆图

  7. 7

    解决方案:克隆图

  8. 8

    图是否为有效树

  9. 9

    解决方案:有效的树

  10. 10

    公交线路

  11. 11

    解决方案:公交路线

  12. 12

    重新安排行程

  13. 13

    解决方案:重新安排行程

  14. 14

    找出小镇的法官

  15. 15

    解决方案:寻找小镇的法官

  16. 16

    找到星图的中心

  17. 17

    解决方案:寻找星图的中心节点

  18. 18

    矩阵中的幸运数

  19. 19

    解决方案:矩阵中的幸运数字

  20. 20

    最大概率路径

  21. 21

    解决方案:最大概率路径

  22. 22

    树的直径

  23. 23

    解决方案:树的直径

  24. 24

    重新排列路线,使所有路径都通向城市 0

  25. 25

    解决方案:重新排列路线,使所有路径都通向城市零

  26. 26

    使网格中至少存在一条有效路径的最小成本

  27. 27

    解决方案:使网格中至少存在一条有效路径的最小成本

  28. 28

    图中的最长环

  29. 29

    解决方案:图中的最长环

  30. 30

    图中的最短环

  31. 31

    解决方案:图中的最短环

树的深度优先搜索
  1. 1

    树的深度优先搜索简介

  2. 2

    将二叉树展开为链表

  3. 3

    解决方案:将二叉树展开为链表

  4. 4

    二叉树的直径

  5. 5

    解决方案:二叉树的直径

  6. 6

    序列化和反序列化二叉树

  7. 7

    解决方案:二叉树的序列化与反序列化

  8. 8

    翻转二叉树

  9. 9

    解决方案:翻转二叉树

  10. 10

    二叉树中的最大路径和

  11. 11

    解决方案:二叉树中的最大路径和

  12. 12

    将有序数组转换为二叉搜索树

  13. 13

    解决方案:将有序数组转换为二叉搜索树

  14. 14

    根据前序遍历和中序遍历构建二叉树

  15. 15

    解决方案:根据前序遍历和中序遍历构建二叉树

  16. 16

    二叉树的右视图

  17. 17

    解决方案:二叉树的右视图

  18. 18

    二叉树的最低公共祖先

  19. 19

    解决方案:二叉树的最低公共祖先

  20. 20

    验证二叉搜索树

  21. 21

    解决方案:验证二叉搜索树

  22. 22

    嵌套列表权重和 II

  23. 23

    解决方案:嵌套列表权重和 II

  24. 24

    二叉搜索树中的中序后继

  25. 25

    解决方案:二叉搜索树中的中序后继

  26. 26

    二叉树在子树删除查询后的高度

  27. 27

    解决方案:子树移除查询后的二叉树高度

  28. 28

    删除节点并返回森林

  29. 29

    解决方案:删除节点并返回森林

  30. 30

    树中的距离之和

  31. 31

    解决方案:树中的距离总和

  32. 32

    二叉树的最大深度

  33. 33

    二叉搜索树中的第K小元素

树的广度优先搜索
  1. 1

    树的广度优先搜索入门

  2. 2

    二叉树的层序遍历

  3. 3

    解决方案:二叉树层序遍历

  4. 4

    二叉树的锯齿形层序遍历

  5. 5

    解决方案:二叉树的锯齿形层序遍历

  6. 6

    填充每个节点的下一个右侧节点指针

  7. 7

    解决方案:填充每个节点的下一个右侧节点指针

  8. 8

    二叉树的垂直遍历

  9. 9

    解决方案:二叉树的垂直遍历

  10. 10

    对称二叉树

  11. 11

    解决方案:对称二叉树

  12. 12

    单词接龙

  13. 13

    解决方案:单词接龙

  14. 14

    两数之和 IV - 输入为二叉搜索树

  15. 15

    解法:两数之和 IV - 输入为二叉搜索树

  16. 16

    合并两棵树后求最小直径

  17. 17

    解决方案:合并两棵树后求最小直径

  18. 18

    树中路径最近的节点

  19. 19

    解决方案:树中路径最近的节点

  20. 20

    连接二叉树中所有兄弟节点

Trie
  1. 1

    Trie 的简介

  2. 2

    实现字典树(前缀树)

  3. 3

    解决方案:实现字典树(前缀树)

  4. 4

    搜索建议系统

  5. 5

    解决方案:搜索建议系统

  6. 6

    替换单词

  7. 7

    解决方案:替换单词

  8. 8

    设计一个支持添加和搜索单词的数据结构

  9. 9

    解决方案:设计添加和搜索单词的数据结构

  10. 10

    单词搜索 II

  11. 11

    解决方案:单词搜索 II

  12. 12

    前 K 个高频单词

  13. 13

    解决方案:前 K 个高频单词

  14. 14

    最长公共前缀

  15. 15

    解决方案:最长公共前缀

  16. 16

    字符串的索引对

  17. 17

    解决方案:字符串的索引对

  18. 18

    第 K 个字典序最小的数

  19. 19

    解决方案:字典序中的第 K 小元素

  20. 20

    回文对

  21. 21

    解决方案:回文对

  22. 22

    最长公共后缀查询

  23. 23

    解决方案:最长公共后缀查询

  24. 24

    字典序数字

哈希表
  1. 1

    哈希表简介

  2. 2

    设计哈希表

  3. 3

    解决方案:设计哈希表

  4. 4

    分数转循环小数

  5. 5

    解决方案:分数转循环小数

  6. 6

    日志速率限制器

  7. 7

    解决方案:日志速率限制器

  8. 8

    下一个更大元素 I

  9. 9

    解决方案:下一个更大元素 I

  10. 10

    同构字符串

  11. 11

    解决方案:同构字符串

  12. 12

    在系统中查找重复文件

  13. 13

    解决方案:在系统中查找重复文件

  14. 14

    两个稀疏向量的点积

  15. 15

    解决方案:两个稀疏向量的点积

  16. 16

    五人组

  17. 17

    解决方案:前五名

  18. 18

    猜数字

  19. 19

    解法:猜数字

  20. 20

    自定义字符串排序

  21. 21

    解决方案:自定义字符串排序

  22. 22

    不同岛屿的数量

  23. 23

    解决方案:不同的岛屿数量

  24. 24

    美妙子字符串的数量

  25. 25

    解决方案:美妙子字符串的数量

  26. 26

    字符串的总吸引力

  27. 27

    解法:字符串的总吸引力

  28. 28

    连续子数组和

  29. 29

    解决方案:连续子数组和

  30. 30

    出现次数唯一的数字

  31. 31

    解决方案:唯一的出现次数

  32. 32

    最长快乐前缀

  33. 33

    解决方案:最长快乐前缀

  34. 34

    寻找最长的自包含子串

  35. 35

    解决方案:寻找最长的自包含子串

  36. 36

    最长回文串

了解需要追踪的内容
  1. 1

    了解需要追踪的内容

  2. 2

    回文排列

  3. 3

    解决方案:回文排列

  4. 4

    有效的字母异位词

  5. 5

    解决方案:有效的字母异位词

  6. 6

    设计井字棋

  7. 7

    解决方案:设计井字棋

  8. 8

    按字母异位词分组

  9. 9

    解决方案:分组字母异位词

  10. 10

    最大频率栈

  11. 11

    解决方案:最大频率栈

  12. 12

    字符串中的第一个唯一字符

  13. 13

    解决方案:字符串中的第一个唯一字符

  14. 14

    找到字符串中的所有变位词

  15. 15

    解决方案:在字符串中找出所有字母异位词

  16. 16

    最长回文串(通过连接两个字母的单词)

  17. 17

    解决方案:通过连接两字母单词构造最长回文串

  18. 18

    按票数排名团队

  19. 19

    解决方案:按票数排名团队

  20. 20

    总时长能被 60 整除的歌曲对

  21. 21

    解决方案:总时长能被 60 整除的歌曲配对

  22. 22

    输入单词所需的最少按键次数 II

  23. 23

    解决方案:输入单词所需的最少按键次数 II

  24. 24

    任务调度器

  25. 25

    解决方案:任务调度器

  26. 26

    计算异位词数量

  27. 27

    解决方案:统计变位词

  28. 28

    将数组划分为递增序列

  29. 29

    解决方案:将数组划分为递增序列

  30. 30

    赎金信

并查集
  1. 1

    并查集简介

  2. 2

    冗余连接

  3. 3

    解决方案:冗余连接

  4. 4

    岛屿数量

  5. 5

    解决方案:岛屿数量

  6. 6

    最多移除相同行或列的石子

  7. 7

    解决方案:最多移除相同行或列的石子

  8. 8

    最长连续序列

  9. 9

    解决方案:最长连续序列

  10. 10

    你能仍然过河的最后一天

  11. 11

    解决方案:你仍然可以通行的最后一天

  12. 12

    斜杠分割的区域

  13. 13

    解决方案:斜杠切割的区域

  14. 14

    账户合并

  15. 15

    解决方案:账户合并

  16. 16

    最小化恶意软件传播

  17. 17

    解决方案:最小化恶意软件传播

  18. 18

    判断图中是否存在路径

  19. 19

    解决方案:判断图中是否存在路径

  20. 20

    天际线问题

  21. 21

    解决方案:天际线问题

  22. 22

    相似字符串组

  23. 23

    解决方案:相似字符串组

  24. 24

    优化村庄的供水分配

  25. 25

    解决方案:优化村庄的供水分配

  26. 26

    除法求值

自定义数据结构
  1. 1

    自定义数据结构简介

  2. 2

    快照数组

  3. 3

    解决方案:快照数组

  4. 4

    基于时间的键值存储

  5. 5

    解决方案:基于时间戳的键值存储

  6. 6

    LRU 缓存

  7. 7

    解决方案:LRU 缓存

  8. 8

    在 O(1) 时间内插入、删除和获取随机元素

  9. 9

    解决方案:实现 O(1) 时间复杂度的插入、删除和随机获取元素

  10. 10

    最小栈

  11. 11

    解决方案:最小栈

  12. 12

    范围模块

  13. 13

    解决方案:范围模块

  14. 14

    单词最短距离 II

  15. 15

    解决方案:最短单词距离 II

  16. 16

    设计哈希集合

  17. 17

    解决方案:设计哈希集合

  18. 18

    最大栈

  19. 19

    解决方案:最大栈

  20. 20

    数据流中的移动平均值

  21. 21

    解决方案:数据流中的移动平均值

  22. 22

    两数之和 III - 数据结构设计

  23. 23

    解决方案:两数之和 III - 数据结构设计

  24. 24

    区间和查询 - 不可变

  25. 25

    解决方案:不可变的范围求和查询

  26. 26

    字符流

  27. 27

    解决方案:字符流

  28. 28

    所有 O(1) 数据结构

  29. 29

    解决方案:所有 O(1) 数据结构

  30. 30

    寻找MK平均值

  31. 31

    解决方案:寻找 MK 平均值

  32. 32

    LFU 缓存

位运算
  1. 1

    位运算入门

  2. 2

    找出差异

  3. 3

    解决方案:寻找差异

  4. 4

    十进制整数的补数

  5. 5

    解决方案:十进制整数的按位取反

  6. 6

    翻转图像

  7. 7

    解决方案:翻转图像

  8. 8

    只出现一次的数字

  9. 9

    解决方案:只出现一次的数字

  10. 10

    只出现一次的数字 III(checkpoint)

  11. 11

    解决方案:只出现一次的数字 III(concept)

  12. 12

    编码和解码字符串

  13. 13

    解决方案:字符串的编码与解码

  14. 14

    所有子集异或总和之和

  15. 15

    解决方案:所有子集异或总和之和

  16. 16

    找出第 K 个幸运数字

  17. 17

    解决方案:寻找第 K 个幸运数字

  18. 18

    K个连续位翻转的最小次数

  19. 19

    解决方案:最少次数的 K 个连续位翻转

  20. 20

    找到最长的子字符串,其中包含的元音字母数量均为偶数

  21. 21

    解决方案:找出元音字母出现次数均为偶数的最长子串

  22. 22

    统计可以形成两个相等异或数组的三元组

  23. 23

    解决方案:统计可以形成两个相等异或数组的三元组

  24. 24

    最长子数组的最大按位与

  25. 25

    解决方案:最长子数组的最大按位与

  26. 26

    将整数变为零所需的最少一位操作

  27. 27

    解决方案:将整数变为零所需的最少一位操作

  28. 28

    三元组的按位与等于零

  29. 29

    解决方案:按位与等于零的三元组

  30. 30

    反转位

数学与几何
  1. 1

    数学与几何入门

  2. 2

    判断是否为一条直线

  3. 3

    解决方案:判断是否为一条直线

  4. 4

    将一个圆分割所需的最少切割次数

  5. 5

    解决方案:分割圆所需的最少切割次数

  6. 6

    矩形重叠

  7. 7

    解决方案:矩形重叠

  8. 8

    访问所有点所需的最短时间

  9. 9

    解决方案:访问所有点所需的最短时间

  10. 10

    反转整数

  11. 11

    解决方案:反转整数

  12. 12

    有效正方形

  13. 13

    解决方案:有效的正方形

  14. 14

    矩形面积

  15. 15

    解决方案:矩形面积

  16. 16

    最小面积矩形

  17. 17

    解决方案:最小面积矩形

  18. 18

    带点约束的最大面积矩形 I

  19. 19

    解决方案:带有点约束的最大面积矩形

  20. 20

    凸多边形

  21. 21

    解决方案:凸多边形

  22. 22

    查询圆内点的数量

  23. 23

    解决方案:查询圆内点的数量

  24. 24

    直线上最多的点数

  25. 25

    解决方案:直线上最多的点数

  26. 26

    可见点的最大数量

  27. 27

    解决方案:可见点的最大数量

  28. 28

    最小化曼哈顿距离

  29. 29

    解决方案:最小化曼哈顿距离

  30. 30

    自交叠

  31. 31

    解决方案:自我交叉

  32. 32

    建篱笆

  33. 33

    解决方案:建立围栏

  34. 34

    覆盖点的最少直线数量

  35. 35

    第 N 个神奇数字

  36. 36

    解决方案:第 N 个神奇数字

  37. 37

    引爆最多炸弹

挑战自我
  1. 1

    挑战自我:简介

  2. 2

    最短桥

  3. 3

    无向图中的连通分量数量

  4. 4

    两个有序数组的中位数

  5. 5

    太平洋大西洋水流

  6. 6

    存在重复元素

  7. 7

    最大子数组

  8. 8

    两数之和

  9. 9

    寻找旋转排序数组中的最小值

  10. 10

    不重叠的区间

  11. 11

    会议室

  12. 12

    柱状图中的最大矩形

  13. 13

    另一棵树的子树

  14. 14

    排序链表

  15. 15

    位1的个数

  16. 16

    盛最多水的容器

  17. 17

    逆波兰表示法求值

  18. 18

    4数之和

  19. 19

    嘈杂而富有

  20. 20

    除自身以外数组的乘积

  21. 21

    最长递增子序列

  22. 22

    两数之和

  23. 23

    多数元素

  24. 24

    不同路径

  25. 25

    最长回文子串

  26. 26

    全排列 II

  27. 27

    省份的数量

  28. 28

    环形链表 II

  29. 29

    使二进制字符串交替所需的最少翻转次数

  30. 30

    柠檬水找零

  31. 31

    打家劫舍

  32. 32

    寻找数组中消失的数字

  33. 33

    在数组中找出所有重复的元素

  34. 34

    相同树

  35. 35

    设计一个内存文件系统

  36. 36

    设计文件系统

  37. 37

    小行星碰撞

  38. 38

    腐烂的橘子

  39. 39

    加二进制数

  40. 40

    字符串相乘

结论
  1. 1

    接下来该去哪里?

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)