解决 500 + 个 LeetCode 问题后的经验#
今天我偶然看到了 NeetCode 的一个 YouTube 视频(链接:https://www.youtube.com/watch?v=8wysIxzqgPI),他在视频中分享了他解决 500 多个 LeetCode 问题后的见解。他坦率地讨论了他过去的一些错误,并提供了一些建议,我在下面进行了总结:
- 选择合适的编程语言: NeetCode 更倾向于使用 Python 等简单的编程语言来进行编程面试,因为它们更高效。他并不特别推荐 C++ 用于这个目的。
- 顺序解决问题: 根据 NeetCode 的说法,应该按照一定的顺序来解决问题。例如,在尝试动态规划之前,应该先掌握回溯问题的解决方法,或者在尝试贪心算法之前解决树相关的问题。他甚至提供了一个方便的路线图来指导这个过程,如下所示。
- 不要浪费时间纠结于一个问题上: 他认为每个问题应该在 45-60 分钟内解决。如果超过这个时间仍然卡住,可能是时候从提供的解决方案中寻求帮助了。
- 定期复习很重要: 需要定期复习每个问题背后的策略和技巧,以巩固你的理解。我认为总结是学习任何东西的通用第一原则。
- LeetCode 并不是一切: 一旦达到一定的熟练水平,解决更多的 LeetCode 问题会有递减的回报。
虽然我完全同意第 3、4 和 5 点,但第 2 点对我影响最大,促使我写下这篇文章。它为我的学习之旅提供了一个启发,这是我从这个视频中获得的最有价值的信息。
但考虑到我个人的职业兴趣,我大部分时间都用 cpp 来解决 LeetCode 问题。LeetCode 帮助我熟悉了 std 库以及 cpp 语言本身。而且,与 cpp 一起工作是从事机器人工作的人们不可避免的命运。我认为这也是我每天喜欢解决 LeetCode 问题的原因之一。