初刷LeetCode的感受
Posted 懂啵的Pyberspace
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初刷LeetCode的感受相关的知识,希望对你有一定的参考价值。
自从上个月进入实验室的云安全项目组后,因为要接触到实际的代码,在实验室博士的建议下我们项目组的硕士开始刷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的感受的主要内容,如果未能解决你的问题,请参考以下文章