自從上個月進入實驗室的雲安全項目組後,因為要接觸到實際的代碼,在實驗室博士的建議下我們項目組的碩士開始刷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 |
轉載于:https://www.cnblogs.com/qiuzhenyao/p/leetcode.html