getfromcode

【慕课网】玩转算法面试 -- Leetcode真题分门别类讲解 - 带源码课件

AI
课程简介

这套资料的主题很明确:以 LeetCode 真题为素材,按算法类型分门别类地讲面试题的解题思路,并且带源码课件。它属于典型的"跟着写代码"型课程,而不是听完就完的知识科普。如果你的目标是能在白板或共享文档里把一个中等难度题从头推到位,这份资料的结构值得拿来对照实践。 技术栈与语言选择 课程主体用 Java 讲解。这不是一个"语言无关"的算法课——代码里会大…

已有 2 人浏览 发布 2026-09-02 更新 2026-09-09

这套资料的主题很明确:以 LeetCode 真题为素材,按算法类型分门别类地讲面试题的解题思路,并且带源码课件。它属于典型的"跟着写代码"型课程,而不是听完就完的知识科普。如果你的目标是能在白板或共享文档里把一个中等难度题从头推到位,这份资料的结构值得拿来对照实践。

技术栈与语言选择

课程主体用 Java 讲解。这不是一个"语言无关"的算法课——代码里会大量出现 Java 的集合类型,比如Stack、Queue、PriorityQueue、HashMap、TreeMap这类容器,以及数组、字符串的常规操作。选择 Java 讲算法面试有现实理由:一是面试中 Java 的容器 API 足够丰富,写起来接近伪代码;二是这些容器本身的实现差异(比如PriorityQueue默认小顶堆、ArrayDeque与LinkedList做栈队列时的取舍)恰恰是面试常问的点。如果你主用 C++ 或 Python,思路可以照搬,但要注意容器语义的差异——Python 的heapq、C++ 的std::priority_queue与 Java 的默认行为并不完全一致。

按数据结构切分的组织方式

资料没有按"第一章数组、第二章字符串"这种教科书顺序平铺,而是以数据结构为纲,把题目挂到对应的容器下面。以栈、队列、优先队列这一块为例,内容不是只讲"栈是后进先出",而是把"用栈模拟递归"这类需要理解调用栈本质的题单独拎出来讲。这种切法的好处是:同一类容器反复出现,你会自然形成"看到某类问题就想到某个结构"的条件反射。

优先队列部分尤其值得注意。Top K 这类问题的标准解法就是维护一个大小为 K 的堆,课程会把"取最大 K 个"和"取最小 K 个"对应到小顶堆还是大顶堆的选择上讲清楚,而不是让你背模板。这个判断依据一旦建立起来,同类变形题基本不需要重新想。

源码课件怎么用

带源码是这套资料区别于纯视频的关键。合理的用法不是"看视频—看答案—结束",而是:自己先在编辑器里写一版,跑通样例,再看课件里的实现做对比。对比时重点看三件事——边界条件怎么处理(空数组、单元素、重复元素)、循环不变量写在哪、以及有没有更省的写法。课件里的代码通常是精炼过的版本,直接看会跳过推导过程,所以顺序不能倒过来。

另外,同一道题在不同语言下的实现细节差异也值得在源码里标注出来。比如用 Java 的PriorityQueue写比较器(Comparator)时,(a, b) -> a - b这种写法在数值较大时有溢出风险,规范的写法是Integer.compare(a, b)。这类坑在课件里往往有体现,属于可以顺手记进笔记的工程细节。

自学路径建议

  • 先按数据结构顺序过一遍,每个结构只求理解典型题的思路,不要求一次记住所有题。
  • 每看完一个结构块,合上视频,自己在 LeetCode 上重做对应题目,用 Java 提交,看运行时间和内存分布。
  • 把课件代码和你的代码放在一起对比,记录下差异点,形成自己的"边界条件清单"。
  • 第二遍复习时只看题目名,先判断该用哪个结构,再看实现——检验的其实是"识别"这一步,而不是"写"这一步。

适合谁

这份资料适合已经有基本编程能力、正在准备技术面试、并且愿意动手写代码的人。如果你的算法基础为零,直接从 LeetCode 真题切入会比较吃力,建议先补一遍基础的数据结构实现(自己手写一个栈、队列、堆),再回来用它做题型归类。
它不适合当"速成技巧合集"看——面试题的分类是有边界的,但真实面试里的题往往跨类型,靠的是把每类结构吃透之后的组合能力,这一点课件给不了,只能靠刷题量堆出来。

【慕课网】玩转算法面试 -- Leetcode真题分门别类讲解 - 带源码课件

Leetcode真题解析,算法面试必备

编辑点评

深入浅出讲解Leetcode真题,涵盖多种算法类型,助力面试成功。

⭐ 编辑推荐

系统学习算法,掌握Leetcode解题技巧,提升面试竞争力。

✨ 课程亮点

✦Leetcode真题解析
✦多种算法类型
✦面试技巧提升

课程目录

第11章 课程结语3 集
  • 第11章 课程结语文档.png [493.5 KB]
  • 11-1 结语.mp4 [6.1 MB]
  • !重命名免费分享.bat [967.0 B]
第6章 栈,队列,优先队列8 集
  • 第6章 栈,队列,优先队列必看.zip [1.8 MB]
  • 6-7 优先队列相关的算法问题 Top K Freqvuent Elements.mp4 [67.0 MB]
  • 6-3 运用栈模拟递归.mp4 [86.8 MB]
  • 6-6 浼樺厛闃熷垪.mp4 [70.6 MB]
  • 6-5 BFS和图的最短路径 Perfect Squares.mp4 [119.5 MB]
  • 6-4 队列的典型应用 Binary Tree Leel Order Traersal.mp4 [54.7 MB]
  • 6-1 栈的基础应用 alid Parentheses.mp4 [84.7 MB]
  • 6-2 栈和递归的紧密关系 Binary Tree Preorder, Inorder and Postorder Traersal.mp4 [77.7 MB]
第4章 查找表相关问题9 集
  • 第4章 查找表相关问题必看.png [493.5 KB]
  • 4-2 map的使用 Intersection of Two Arrays II.mp4 [57.2 MB]
  • 4-3 set和map不同底层实现的区别.mp4 [91.0 MB]
  • 4-7 查找表和滑动窗口 Contain Duplicate II.mp4 [60.0 MB]
  • 4-1 set的使用 Intersection of Two Arrays.mp4 [68.9 MB]
  • 4-5 灵活选择键值 4Sum II.mp4 [63.9 MB]
  • 4-4 使用查找表的经典问题 Two Sum.mp4 [81.8 MB]
  • 4-8 二分搜索树底层实现的顺序性 Contain Duplicate III.mp4 [55.3 MB]
  • 4-6 灵活选择键值 Number of Boomerangs.mp4 [64.1 MB]
第3章 数组中的问题其实最常见9 集
  • 第3章 数组中的问题其实最常见资料.png [493.5 KB]
  • 3-1 从二分查找法看如何写出正确的程序.mp4 [93.6 MB]
  • 3-4 即使简单的问题,也有很多优化的思路.mp4 [68.2 MB]
  • 3-5 三路快排partition思路的应用 Sort Color.mp4 [96.0 MB]
  • 3-2 改变变量定义,依然可以写出正确的算法.mp4 [44.9 MB]
  • 3-7 婊戝姩绐楀彛 Minimum Size Subarray Sum.mp4 [65.7 MB]
  • 3-6 瀵规挒鎸囬拡 Two Sum II - Input Array is Sorted.mp4 [86.0 MB]
  • 3-8 在滑动窗口中做记录 Longest Substring Without Repeating Characters.mp4 [67.2 MB]
  • 3-3 在LeetCode上解决第一个问题 Moe Zeros.mp4 [58.7 MB]
第9章 动态规划基础8 集
  • 第9章 动态规划基础资料.zip [1.8 MB]
  • 9-1 什么是动态规划.mp4 [89.7 MB]
  • 9-2 第一个动态规划问题 Climbing Stairs.mp4 [61.3 MB]
  • 9-3 发现重叠子问题 Integer Break.mp4 [119.8 MB]
  • 9-6 0-1背包问题的优化和变种.mp4 [85.0 MB]
  • 9-4 状态的定义和状态转移 House Robber.mp4 [116.0 MB]
  • 9-9 LCS,最短路,求动态规划的具体解以及更多.mp4 [89.0 MB]
  • 9-7 面试中的0-1背包问题 Partition Equal Subset Sum.mp4 [119.3 MB]
第8章 递归和回溯法6 集
  • 第8章 递归和回溯法资料.zip [1.8 MB]
  • 8-6 二维平面上的回溯法 Word Search.mp4 [114.9 MB]
  • 8-7 floodfill算法,一类经典问题 Number of Islands-.mp4 [105.0 MB]
  • 8-5 回溯法解决组合问题的优化.mp4 [76.5 MB]
  • 8-2 浠€涔堟槸鍥炴函.mp4 [71.2 MB]
  • 8-8 回溯法是经典人工智能的基础 N Qvueens.mp4 [112.0 MB]
第5章 在链表中穿针引线7 集
  • 第5章 在链表中穿针引线必看.zip [1.8 MB]
  • 5-6 链表与双指针 Remoe Nth Node Form End of List.mp4 [80.6 MB]
  • 5-4 复杂的穿针引线 Swap Nodes in Pairs.mp4 [58.0 MB]
  • 5-1 链表,在节点间穿针引线 Reerse Linked List.mp4 [75.0 MB]
  • 5-3 设立链表的虚拟头结点 Remoe Linked List Elements.mp4 [82.6 MB]
  • 5-2 测试你的链表程序.mp4 [67.8 MB]
  • 5-5 不仅仅是穿针引线 Delete Node in a Linked List.mp4 [41.1 MB]
第7章 二叉树和递归6 集
  • 7-4 定义递归问题 Binary Tree Path.mp4 [71.1 MB]
  • 7-6 二分搜索树中的问题 Lowest Common Ancestor of a Binary Search Tree.mp4 [77.6 MB]
  • 7-1 二叉树天然的递归结构.mp4 [82.9 MB]
  • 7-3 注意递归的终止条件 Path Sum.mp4 [58.9 MB]
  • 7-2 一个简单的二叉树问题引发的血案 Inert Binary Tree.mp4 [45.3 MB]
  • 7-5 稍复杂的递归逻辑 Path Sum III.mp4 [72.5 MB]
第10章 贪心算法3 集
  • 10-3 贪心选择性质的证明.mp4 [65.1 MB]
  • 10-2 贪心算法与动态规划的关系 Non-oerlapping Interals.mp4 [94.0 MB]
  • 10-1 贪心基础 Assign Cookies.mp4 [55.6 MB]
第1章 算法面试到底是什么鬼4 集
  • 1-3 如何准备算法面试.mp4 [66.5 MB]
  • 1-2 算法面试只是面试的一部分.mp4 [65.6 MB]
  • 1-1 算法面试不仅仅是正确的回答问题.mp4 [87.4 MB]
  • 1-4 如何回答算法面试问题.mp4 [57.5 MB]
第2章 面试中的复杂度分析8 集
  • 2-3 简单的复杂度分析.mp4 [76.9 MB]
  • 2-7 避免复杂度的震荡.mp4 [47.8 MB]
  • 2-6 均摊时间复杂度分析(Amortized Time Analysis).mp4 [73.8 MB]
  • 2-2 对数据规模有一个概念.mp4 [47.4 MB]
  • 2-5 递归算法的复杂度分析.mp4 [64.9 MB]
  • 2-4 亲自试验自己算法的时间复杂度.mp4 [79.7 MB]
  • 2-1 究竟什么是大O(Big O).mp4 [92.7 MB]
  • coding-82.zip [23.3 MB]

适合人群

  • 算法初学者
  • 面试求职者
  • 算法爱好者

🎯 学习收获

  • 掌握Leetcode解题方法
  • 提升算法面试能力
  • 增强编程思维

🎉 祝您学习愉快!

课程购买
课程价格
金币29.9
299金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。