为什么要使用 LeetCode 呢?

LeetCode 相比其他编程平台有着很多优势:

  • 各大知名公司面试真题:对于求职者在这上面训练更具有针对性,目前国内一些公司面试时直接从在这上面出题。

  • 大中小企业都在使用:常常会直接或者间接使用 LeetCode 的题目资源,依然慢慢成为考核技术能力和思维方式的黄金标准。

  • 支持13+种汇编语言:Ruby、Swift、Kotlin、C、C++、Java、Python、Javascript 等等13种语言,这让广大的程序员可以自由的选择自己擅长的语言,从而把注意力放在算法的本身上而不是语言上。

  • 丰富题库、社区活跃:LeetCode 平台具有丰富的题库,分类全面,活跃在线社区,可以针对自己的弱处做专项训练。



LeetCode 使用指导

进入 LeetCode 主页,选择上面菜单 “题目”,点击 “算法” 即可预览全部公开题目。目前已有 700+ 公开题目资源。



题库可以按照难易程度进行筛选,选择 “标签” 可以筛选您所感兴趣的主题进行训练(例如Array、Hash Table、Linked List、Sort、Tree、Graph等等)。



做题界面也是简明清爽,您可选择您的偏好语言进行练习。每种语言都已经给您提供了模版和接口,只需按照代码模版实现功能即可。程序完成之后,点击右下角 “执行代码”,您也可以自定义测试用例,来确保您的代码准确性。无误后,点击 “提交解答”,系统就会自动批阅您的代码以及计算运行时间,给出相关结果:通过、解答错误(会把对应的错误用例显示出来)、执行超出时间限制、内存超出时间限制 等等。另外,您也可以点击编辑器右上角的 “使用 Playground 调试” 来 debug 调试您的代码。


LeetCode 刷题指导

LeetCode上的题目太多,刷不过来?而且很多也是难度极高啊!如按顺序一题题的去做,既很难坚持下去,也没有那么多时间,效率不高。那对于那些希望短期速成找工作的朋友应该怎样刷题,才能得到事半功倍,让自己在面试过程中迎刃有余呢?下面将列举一些经验:



  • 最佳方式自然是针对自己的实际需求从 “LeetCode 探索” 选择合适的主题开始,因为这里有 LeetCode 题目编辑精挑细选整理过的高频面试题和专项突击。

  • 对那些基础差从未刷过题目的人,也建议可以选择简单类型的按照顺序去做,在练习的过程中强化自己的基础知识。

  • 对于那些有了一定的基础后,对照着数据结构按照标签(指针用法、并差集、链表、哈希表、堆、栈、树、图、记忆搜索、动态规划),依次选取一些简单中等的题目强化相关数据结构知识,对于能力强的可以选择困难难度挑战自己,这就会帮助我们在练习算法的时候对数据结构有了更深的认识。

  • 在准备面试前一两个月选择那些困难难度的题目去做,在之前我们对简单和中等难度的题目有了一定的了解,这个时候练习困难难度的题目可以扩展自己的思维,很多困难难度题目使用很巧妙的方法,比如 Largest Rectangle in Histogram 、Maximal Rectangle ,这个时候我们再回顾前面的题目,就会觉得没以前那么难了。

  • 在练习的过程中要养成好习惯,对于那些经典或自己不明白的问题要把收藏起来,定期的去回顾这些题目,这样会慢慢的加强个人的思维能力。

  • 最重要的一点就是要多动手去练,别以为一道题目很简单,等你写完提交上去的时候你会发现很多问题,而我们就是在不断遇到问题然后去解决的过程中加强自己的能力。



LeetCode 会帮助您自动追踪进度,您完成的每一道题目、每一张卡片、每一场竞赛,都有相应的进度查看工具,方便您督促自己的进度和了解自己的大致水平。当您完成一个挑战也可截图炫耀一下哦!