文章目录
- 前言
- 刷题方法
- 定期总结
- 刷题经验
- 面试热题总结
- 1 [二叉树相关算法总结实现](https://blog.csdn.net/guihunkun/article/details/107305413)
- 2 [常用排序算法的C++实现汇总](https://blog.csdn.net/guihunkun/article/details/108042220)
- 3 [链表相关面试算法总结实现](https://blog.csdn.net/guihunkun/article/details/108434597)
- 4 [栈队列相关面试算法总结](https://blog.csdn.net/guihunkun/article/details/108542817)
- 5 [递归和回溯相关面试算法总结](https://blog.csdn.net/guihunkun/article/details/108686238)
- 6 [最长子序列和子串相关算法题总结](https://blog.csdn.net/guihunkun/article/details/108688509)
- 7 [深度优先搜索相关面试算法总结(非图论方面)](https://blog.csdn.net/guihunkun/article/details/108743260)
- 8 [广度优先搜索相关面试算法总结(非图论方面)](https://blog.csdn.net/guihunkun/article/details/108785699)
- 9 [贪心算法相关面试算法题总结](https://blog.csdn.net/guihunkun/article/details/109144330)
- 10 [滑动窗口相关算法题总结](https://blog.csdn.net/guihunkun/article/details/109266185)
- 11 [二分查找相关面试算法题总结](https://blog.csdn.net/guihunkun/article/details/109431372)
- 12 [动态规划相关面试算法题总结](https://blog.csdn.net/guihunkun/article/details/109537598)
前言
https://leetcode-cn.com/problemset/all/
虽然刷题一直饱受诟病,但熟能生巧,有些东西就是需要刻意练习,程序不写永远不是自己的,刷题网站众多,但提到更多的总离不开 LeetCode 。关键是如何找到合适自己的刷题方法,让学习锻炼更加高效。
刷题方法
第一遍:思考,不要看任何参考答案,可以尝试暂时不考虑时间和空间效率,将题解出。
第二遍:结合前面自己做的,思考能否优化时间和空间。
第三遍:结合其他人的题解官方答案。和自己的方法作对比,掌握本题的类型,最优题解。
第四遍:总结并写题解, 总结写解题思想和算法能加深自己的理解。
注:如果题目难,做不出,也千万不要看懂答案就表示自己会了, 一定要自己实实在在写出并AC
定期总结
可以定期总结一类题目,比如一周或者两周只刷 动态规划的题,写一篇完整的关于动态规划的博客文章。
排序算法就可以有不错的总结如下图:
刷题经验
- 切忌不要按题号刷题,除非是多年老司机,只为了保持手感,这时其实每日一题也可以了。
- LeetCode有很好的分类标签,最好按照分类,比如这两周刷 滑动窗口 的题,然后由简入难。
- LeetCode也有很好的学习计划,比如数据结构类,算法类,可以按其坚持学习。
- 时间紧,可以刷 “leetCode 热题 HOT 100” 等。