自从上个月进入实验室的云安全项目组后,因为要接触到实际的代码,在实验室博士的建议下我们项目组的硕士开始刷LeetCode练习编程能力,保持每周抽空刷几道算法题。虽然刷的不多,到现在一共只刷了不到30题,但在刷题的过程中还是有很多感触的。

  实验室的博士建议我们按照题目的难易顺序循序渐进由易到难来刷,我也就照做了。因为前段时间在系统地学Python语言,所以我主要用的是Python语言来做,有的题目也采用了C/C++、Java甚至C#多种语言来尝试。在刷题的过程中,总结了自己的一些问题:

  1. 对于数据结构类的题目(例如链表、二叉树等),其实是很简单的题目,但因为很久没有接触数据结构的代码,没有信心去尝试。以后要客服这种畏难的心理,应该在刷题的过程中做到边做边学。

  2. 对于带有字符串或者数组操作的题目,用类C语言尝试总是会遇到困难,也产生了畏难心理,在这方面还要多看看书来加强。

  3. 有的题目乍一看很简单,但用一般的算法很容易超时(特别是对于Python这种执行速度慢的解释型语言),有的题目甚至要求了不能用额外的空间、不能使用循环或者对于时间复杂度有要求(O(n)甚至O(1))。看来还要提高算法优化的水平,同时数学能力也非常重要。

  4. 算法类的题目总体来说还是比较有难度,题目出的也很巧妙,有时候需要进行一番头脑风暴才能有一些头绪,以后还要多刷题保持编程的感觉。

  5. 英文快速阅读水平还要再加强,因为题目都是英文的,有些比较长的题目不太容易看懂。

  针对自己的这些问题,接下来要进行有针对性的补充学习。因为最近临近期末,所以打算利用寒假好好恶补。目前主要是要提高数据结构与算法方面的能力(手上关于算法和数据结构的书太多了),同时还要继续学习Python语言(廖雪峰教程+实际项目)、Linux系统(鸟哥的私房菜+实际操作)以及与项目相关的OpenStack云平台上的开发,再深入地学习Java或者C++其中的一门语言。有机会的话还想接触一下机器学习,手里正好有一本用Python语言写的《机器学习实战》。

  要成为一名合格的程序猿需要学的东西太多,不光是知识的广度,更重要的是深度的积累。未来任重而道远啊!

  附上到目前为止所刷过的LeetCode题:

# Title Acceptance Difficulty
326 Power of Three   39.1% Easy
1 Two Sum   29.2% Easy
169 Majority Element   44.5% Easy
206 Reverse Linked List   43.1% Easy
136 Single Number   52.5% Easy
231 Power of Two   39.1% Easy
415 Add Strings   41.4% Easy
242 Valid Anagram   44.5% Easy
441 Arranging Coins   36.3% Easy
349 Intersection of Two Arrays   45.3% Easy
258 Add Digits   50.0% Easy
66 Plus One   36.6% Easy
292 Nim Game   54.5% Easy
171 Excel Sheet Column Number   44.9% Easy
342 Power of Four   37.1% Easy
434 Number of Segments in a String   40.0% Easy
344 Reverse String   57.4% Easy
345 Reverse Vowels of a String   37.0% Easy
27 Remove Element   36.6% Easy
237 Delete Node in a Linked List   45.2% Easy
371 Sum of Two Integers   51.5% Easy
13 Roman to Integer   43.1% Easy
383 Ransom Note   45.8% Easy
9 Palindrome Number   33.9% Easy
389 Find the Difference   50.2% Easy
412 Fizz Buzz   58.1% Easy
283 Move Zeroes   47.4% Easy

初刷LeetCode的感受的更多相关文章

  1. 刷leetcode是什么样的体验?【转】

    转自:https://www.zhihu.com/question/32322023 刷leetcode是什么样的体验? https://leetcode.com/ 1 条评论   默认排序 按时间排 ...

  2. 推荐一种通过刷leetcode来增强技术功底的方法

    背景 如果前人认为这个一种学习提高或者检验能力的成功实践.而自己目前又没有更好的方法,那就不妨试一试. 而不管作为面试官还是被面试者,编码题最近越来越流行.而两种角色都需要思考的问题是希望考察什么能力 ...

  3. 刷LeetCode的正确姿势——第1、125题

    最近刷LeetCode比较频繁,就购买了官方的参考电子书 (CleanCodeHandbook),里面有题目的解析和范例源代码,可以省去非常多寻找免费经验分享内容和整理这些资料的时间.惊喜的是,里面的 ...

  4. 用JavaScript刷LeetCode的正确姿势

    虽然很多人都觉得前端算法弱,但其实 JavaScript 也可以刷题啊!最近两个月断断续续刷完了 leetcode 前 200 的 middle + hard ,总结了一些刷题常用的模板代码.走过路过 ...

  5. 工具推荐--刷LeetCode的神器

    本文首发于微信公众号:[坂本先生],文章地址为: https://mp.weixin.qq.com/s/vHv5hO8nils_g2VSKwu1Cg如有转载请标明出处 今天给大家安利一款快速刷Leet ...

  6. 【一起刷LeetCode】整数反转

    前言&絮叨 别人都忙着参加年会晒奖品,我却忙着写代码.每逢年底都要安排几个紧急项目,我什么时候能摆脱这种宿命. 在忙也不能忘记刷LeetCode,毛毛向前冲!!! 题目描述 给出一个 32 位 ...

  7. 从心出发-刷leetcode写给5年后的自己

    而立之年终未立,不惑而年犹存惑!这或许就是所谓的中年危机吧! 自认为是一个"勤奋"的人,又"未有寸功",天天碌碌,不知何为. "常立志"而未 ...

  8. GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势

    作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂

  9. 刷LeetCode的简易姿势

    近期抽空刷了刷LeetCode,算是补补课. 由于不是很习惯直接在网页上Coding&Debug,所以还是在本地环境下进行编码调试,觉得基本OK后再在网页上提交. 主要采用Python3进行提 ...

随机推荐

  1. Android动画的理解

    基础知识 在我们开始讲Android动画这个知识点之前,我们了解下相应的基础知识点. Shape篇 一般用Shape定义的XML文件是存放在Drawable目录下,广泛应用于在Button.TextV ...

  2. 让你分分钟学会Javascript中的闭包

    Javascript中的闭包 前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它 ...

  3. Ionic2学习笔记(9):访问本地设备

    作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5559927.html               Ionic2提供了访问本地设备的方法,但是需要安装 ...

  4. LINQ to SQL语句(9)之Top/Bottom和Paging和SqlMethods

    适用场景:适量的取出自己想要的数据,不是全部取出,这样性能有所加强. Take 说明:获取集合的前n个元素:延迟.即只返回限定数量的结果集. var q = ( from e in db.Employ ...

  5. Unity实现滑页嵌套(解决ScrollRect嵌套冲突问题)

    简介 由于项目需要+有网友咨询,所以做了个横向滑页+某一横向滑页中有竖向滑页的demo,实现有点绕弯子,但基本功能还是比较完善,发上来共享一下. 效果 思路 第一步的思路是自己判断触屏拖动位置,然后控 ...

  6. Reflector、reflexil、De4Dot、IL指令速查表

    http://files.cnblogs.com/files/quejuwen/ReflectorInstaller.rar http://files.cnblogs.com/files/quejuw ...

  7. 一个简单的MVC实例及故障排除

    Controller: public ActionResult Index() { string setting = "ApplicationServices"; var conn ...

  8. luogg_java学习_13_GUI

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! GUI 容器 JFrame , JPanel , JS ...

  9. JAVA 异常处理机制

    主要讲述几点: 一.异常的简介 二.异常处理流程 三.运行时异常和非运行时异常 四.throws和throw关键字 一.异常简介 异常处理是在程序运行之中出现的情况,例如除数为零.异常类(Except ...

  10. java protected 的细节

    1. java的权限控制--大部分人都被错误洗脑了. 一个重大的坑,或者一个重大的误区,或者说一个洗脑了成千上万java编程者的错误概念就是: public private protected 是基于 ...