Python解决《程序员面试金典(第6版)》
这些是《程序员面试金典(第6版)》一书的Python解决方案,该书由Gayle Laakmann McDowell所著。
如何使用?
要运行程序,只需使用python chapter_X/filename.py
命令。
要运行测试:pip install pytest
和pytest
贡献
欢迎贡献!请为每个解决方案单独提交拉取请求。
一般来说,解决方案应该属于以下三类之一:
- 算法演示。这是该书主要关注的问题和解决方案类型。因此,在不需要实现算法的情况下,解决方案不应使用标准库函数。这些解决方案的目标应该是易于理解,并能展示对算法的理解。
- Python演示。我们也接受以更实用的方式解决问题的方案,使用任何可用的标准库函数。请不要使用任何第三方依赖。这些解决方案也应该易于理解,并且是Python编程方式的良好示例。
- 速度演示。如果最快的做法不太易读或直观,因此不适合前两类,则可以接受这些替代解决方案。
如果你想把所有事情都做得很好,以下是一些指导原则。解决方案应:
- 适用于Python 3.6或更高版本
- 不依赖第三方库(如
numpy
) - 遵循Python编码风格约定
- 除类外,一切都使用小写加下划线
- 使用描述性的、较长的变量名
- 使用
black
代码格式化工具进行格式化 - 包含测试以证明它们能正常工作。支持使用pytest
- 有一个干净的提交历史,最好遵循angular提交消息约定,并在括号中包含正在处理的问题。例如
feature(C01_P04): added solution
。C01_P04指的是第1章,第4个问题。查看我们的提交历史以获取更多示例:
即使你的贡献不完全符合这些指导原则,我们仍会与你合作,所以不要让这些阻止你。