Leetcode/Lintcode学习笔记¶
作为一个算法小白,记录整理自己在学习算法过程中的心得,希望对你也有所帮助。
如何高效地准备算法面试¶
- 在刷题时,总结、归类相似题目
- 找出适合同一类题目的模板程序
- 每隔固定时间重做以前的题目
关于代码风格¶
- 代码块可为三大块:异常处理(空串和边界处理),主体,返回
- 代码风格(可参考 Google 的编程语言规范)
- 变量名:有意义的变量名
- 缩进:语句块
- 空格:二元运算符、括号两侧
- 可读性:单语句使用花括号等
关于面试¶
- 程序风格(缩进,括号,变量名等)
- Coding 习惯(异常检查,边界处理,数组越界等)
- 测试(主动写出合理的测试例)
在线刷题网站¶
- Leetcode,应该是最知名的在线刷题网站了,提供多种编程语言的在线检测,评论区氛围很好,大家会分享思路、讨论问题。
- Lintcode,和 Leetcode 很像,题目也有一定的重合度,没有评论区。有阶梯训练( Ladder ),方便专题学习。
- 牛客网,国内的一个 IT 笔试面试备考平台,有公司真题模考(主要是国内),智能专项练习,在线编程专题多个内容,讨论区有很多校招内容及分享,适合国内找工作的同学。
题目参考解答¶
- 九章算法,提供 Lintcode 三种语言( Java, C++, Python )的解题答案,我个人在学习过程中大量参考了九章的答案,在此致谢。
- Leetcode 讨论区,大家会讨论分享交流不同的解法和思路。
- 数据结构与算法/leetcode/lintcode题解,作者 yuanbin 维护的个人博客,包含算法基础知识、编程题目解析等内容,题目解析部分很详细,本文档的建立也是受其启发,过程中也借鉴学习了很多,在此表示感谢。
- ProgramCreek,个人博客站点,里面有大量关于算法和 Java 相关的内容。Simple Java 中总结的知识点很适合面试前参考。
- 水中的鱼,leetcode 题目的答案解析, google 搜索的排名很高。
- 喜刷刷,跟“水中的鱼”很像。
- 算法精粹 | soulmachine ,soulmachine 的习题汇编在线阅读地址,有 C++ 和 Java 两个版本。
参考书籍¶
- 《算法(第4版)》(豆瓣),Robert Sedgewick 教授的书,讲解了基础的数据结构和算法,配有大量图例,深入浅出,讲解非常细致。
其他资源¶