书:pan.baidu.com/s/1Dpx7V9o6vkkhq1WNsKlFLg
提取码:0bvp
我的笔记:
- 刷题分类: LeetCode上的题目分为各种不同的类别,如数组、链表、树、动态规划等。开始时,可以选择一个类别,逐步深入学习和掌握。
- 按照难度刷题: 题目分为简单、中等和困难。建议按照难度逐步提高,从简单的开始,逐渐挑战更难的问题。
- 理解题目: 在解决问题之前,仔细阅读并确保充分理解题目。了解输入输出的格式,以及问题的约束条件。
- 彻底解决问题: 一旦解决了一个问题,不要立刻放弃。确保完全理解解决方案,考虑不同的边界情况和优化方法。
- 学习常见的数据结构和算法: 熟悉常见的数据结构(如数组、链表、树、图)和算法(如排序、查找、递归、动态规划),因为它们是编程面试的重要基础。
- 时间和空间复杂度: 学会分析算法的时间复杂度和空间复杂度。在解题过程中考虑到这两个方面,对于优化和选择合适的解决方案非常有帮助。
- 多用多练: 通过不断刷题来提高编程技能。在实际解决问题的过程中,你会学到很多实用的技巧和经验。
- 参与讨论和查看解答: 在LeetCode上可以看到其他人对于同一问题的解法。参与讨论和查看不同的解答,可以帮助你学到更多的知识和不同的思考方式。