专栏首页小詹同学刷 LeetCode 那点事 !

刷 LeetCode 那点事 !

有一段时间没有更新 LeetCode 打卡帖了 ,其实自己有偶尔刷题 ,但是没有写成文章记录分享出来 ,主要还是自己懈怠了 ,另一个重要原因就是写这记录帖比较费事却没多少人看 。最近想了想 ,关于刷题做了一些浅显的思考 。

首先 ,为什么刷题呢 ?当然是想着提高自身能力 ,在算法笔试面试中脱颖而出 。那么问题就来了 ,算法面试他面的只是一个具体的题目吗 ?

很显然不全是的 ,相信有人在面试中几乎做出了所有题却与 offer 擦肩而过 ,也有人并没有完美攻克所有题目却最终拿到了心仪的 offer 。至少和实验室有经验的学长同学沟通发现是有这样现象的 !

有人说 :算法面试优秀不意味着技术面试优秀 ,技术面试优秀不意味着能够拿到 offer 。的确是这样子 ,几个题目就能确定一个人的能力吗 ?不全然 !更多的时候 ,感觉技术面试不能局限于一个题目 ,局限于能否做出来正确结果 。而是考验一个人的思考方式和思考方向 。

举几个例子 。第一 ,很多题目不只有一个解法 ,暴力穷举可以解决 ,巧妙技巧也并不缺乏 ,能否做出正确结果还真不是最关键的 。更优秀的代码(例如时间空间复杂度的优势)肯定更能吸引到面试官的注意也能从一定程度上证明你的过人之处 。第二 ,许多题目会有多种特殊情况或者边界问题等 ,代码整体思路是对的 ,却总有通不过的样例 ?往往就是在这些特例上撞了墙 。再比如排序问题 ,方法很多 ,但是能简单的说快排就是最快的吗 ?事实上 ,数据的特征不同 ,采取不同的排序方法谁优谁劣真不一定 。有没有可能包含有大量重复的元素?原始数据有序度如何等等都值得思考 。

所以啊 ,平时还真不能局限于 " 做出来就好 " ,而是要多思考 ,多种思路并且更加全面才好 !小詹觉得面试官更加看重的也许就算思考能力和逻辑能力吧 。

那么 ,怎么刷题呢 ?在线刷题系统其实不少 ,以 LeetCode 为例 ,难度分 3 档 ,并且每一题都有序号 ,是从前往后 ?还是从易到难 ?遇到难题 ,是死磕到底还是瞟一眼别人的代码 ?

其实每个人习惯和想法不一样 ,不好说哪一个更好 。小詹分享下自己的看法如下 。

  • 刷题顺序 。之前是粗暴的从前往后 ,但是自己想了想更推荐一个专题一个专题的进行 。比如数组 、链表 、队列 、动态规划等等 ,一个一个的攻克 ,没必要每一题都刷 ,挑一些经典的具有代表意义的 。以数组为例 ,题目使用较多的方法有二分 、双指针 、回溯等 ,就可以考虑每一类数据结构的每一种方法挑选几题仔细攻克 ,比广撒网也许更好一些 。
  • 刷题习惯 。遇到简单题目也许很快就有思路并写出来正确代码了 ,但是更加建议即使是简单的题目也思考下多种思路 。当然小詹推荐花大精力刷中等难度的题目 ,太简单和太困难的可以先放过 。遇到难题也不要马上就去看别人的代码 ,看懂别人的和自己写出来是两回事 ,先自己尝试思考 ,如果多种思路都尝试了依旧不行可以去看看别人的思路 ,看懂后最好自己复现一下 。
  • 分析笔记 。其实看对某个题的掌握程度最好方法就是让自己跟别人讲解分析 ,教会了别人 ,自己一定印象深刻 ,因为这会大脑思考转的非常快 !所以做笔记分析思路是个很不错的习惯 !

一家之词 ,多多思考探索自己的方式 。也欢迎留言区分享你的刷题顺序 和技巧 ,也许能给别人带来一定启发噢 !

本文分享自微信公众号 - 小詹学Python(xiaoxiaozhantongxue)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 漫话:如何给女朋友解释为什么计算机只认识0和1?

    端午节放假休息,我正在家里面吹着空调,吃着西瓜,看着《这就是街舞》,女朋友在一旁看某游戏主播的直播。我隐约中听到她手机中传来主播的一句话:“朋友们,听懂我的意思...

    小小詹同学
  • python | 从微信昵称分析个人性格 。

    大家好,首先说明的是,这是一篇技术文,也是一篇not技术文,今天分享的是,当我获取了微信小程序英文取名的3500多个微信用户昵称、年龄段后,分析得到下面解果。。...

    小小詹同学
  • 机器学习,你不得不掌握的十大算法(上篇)

    这是小詹关于机器学习的第①篇文章 ● 机器学习及其分类 我们知道,机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学...

    小小詹同学
  • Neo4j 查询已经创建的索引与约束

    在Neo4j 2.0之后为cypher语法增加了一些类似于DDL的语法,能够自己创建索引,约束等等。

    用户3148308
  • 大额并购又来,无人车成了芯片行业新战场

    想要拥有一辆真正的无人车,可能还要等待很长时间,但芯片制造商都认定这一天迟早会到来。

    量子位
  • 不想做下一个中兴!格力成立新公司布局芯片制造

    根据国家企业信用信息公示系统显示,2018年8月14日,珠海零边界集成电路有限公司成立,注册资本为10亿元,法定代表人是董明珠,公司股东为珠海格力电器股份有限公...

    大数据文摘
  • 醒醒吧,面试真的不等于刷题

    阿发狗赢了普天同庆,以后机器人自己写代码了,包子君觉得就更不好找工作了。。。言归正传,呵呵。 ---- 包子培训在过去的三年里,一直反复不断的收到同学们的邮件...

    包子面试培训
  • iOS之Runtime原理解读

    Runtime简介 做过Android开发的同学都知道,早期的Android系统采用的是Dalvik机制,应用每次运行的时候,字节码都需要通过即时编译器转换为机...

    xiangzhihong
  • 人工神经网络ANN

    作者:水奈樾人工智能爱好者 博客专栏:http://www.cnblogs.com/rucwxb/ 神经网络是从生物领域自然的鬼斧神工中学习智慧的一种应用。人工...

    企鹅号小编
  • Snowflake将带领新一代SaaS走向怎样的未来?

    ? 来源 :我思锅我在 作者:SY、GN ---- ? (文:SY、GN) “Salesforce became a much bigger company...

    腾讯SaaS加速器

扫码关注云+社区

领取腾讯云代金券