interactive-coding-challenges:算法面试的交互式训练场
interactive-coding-challenges:算法面试的交互式训练场
interactive-coding-challenges 在 GitHub 上已经拿到 31,485 Star 了。
作者 Donne Martin 整理了这个仓库,专门解决一个痛点:算法面试怎么练才有效。它把 120 多道算法和数据结构题目做成了交互式 Jupyter Notebook,每道题都带单元测试,写完代码就能立即验证对错。
1、 这项目是干嘛的
简单说,就是一个用测试驱动的方式来刷算法题的工具。
所有题目聚焦在算法和数据结构上,覆盖数组、字符串、链表、栈、队列、图、树、排序、递归、动态规划、数学概率、位运算等常见面试考点。每个题目配两个 Notebook:一个是挑战版,只给题目和测试用例,等你实现;另一个是解答版,包含完整代码和复杂度分析。
2、 里面有什么
除了 120 多道挑战题,仓库还提供了大量单元测试过的参考实现。
数据结构方面,包括链表、栈、队列、二叉搜索树、图、最小堆、字典树、优先队列、哈希表等。算法方面,包括选择排序、插入排序、快速排序、归并排序、基数排序、拓扑排序、DFS、BFS、Dijkstra 最短路径、0/1背包、素数筛等。

另外,仓库还配套了一套 Anki 闪卡,用间隔重复的方式帮助记忆关键概念。
3、 怎么用
用 Jupyter Notebook 打开挑战文件,运行单元格就能看到题目和测试用例。自己写完代码后,单元测试会立即告诉你对错。卡住的时候可以切换到解答 Notebook,里面写了完整的实现思路和复杂度分析。项目也支持通过 Binder 在线运行,无需配置本地环境。

4、 适合谁用
- 正在准备技术面试、需要系统刷题的开发者
- 想从零学习经典数据结构和算法实现的人
- 喜欢用 Notebook 边写边测、即时反馈的学习者
浙公网安备 33010602011771号