遊LeetCode一月之閒談

2021-10-18 13:46:49 字數 1491 閱讀 6819

今年的2月比往常更長,不是因為比往年多了一天,而是被病毒隔離在家的日子顯得十分漫長。如果再不給自己找點事情做的話,且不論身體方面的健康狀況,精神方面可能也會有些隱憂。做為一名工程師,適時地讀上幾本平日可能沒時間閱讀的好書,應當是不錯的選項。而除此之外,也可以做點有趣的演算法題目以做消遣。

當今,leetcode這個**已經廣為人知。打算刷演算法題時,它幾乎是必然的選擇。當然國外還有codewar,國內也有牛客網這樣的備選。不過由於幾年前也曾在leetcode上玩過幾題的關係,當再次有刷題想法的時候,還是回歸到那熟悉而又陌生的地方。

最開始的時候可能也只打算投入幾天的時間去重溫下做題的感覺,但隨著隔離時間的延長,且年內計畫也制訂了認真研習演算法這一項,不知不覺每日持續做題的日子已經過去乙個月了。

迄今為止,簡單難度的題目做了68道,中等難度的題目做了42道,困難難度的2道,總計112道。

先刷的是簡單的題目,閒來一天可以做個5,6題,再之後開始做中等難度的,每日堅持做3題,至於困難的題目,則是無事可做時想嘗試下挑戰的。當然這樣的結果是必然查詢功略才能有些線索。

leetcode經過數年的發展,已經從最初的觸手可及的100多道題,變成為擁有1364題的真正意義上的題庫,這個數字記錄截止於2020/2/29,之後肯定還會增加。(在做題的時候就發現其偷偷地又多了幾題)

我刷題的方式不是如他人一般選取其前幾百題做為開端,而是採用主題突破的策略。

在leetcode網頁的右側有各種主題的彙總。

可以看到在各個主題之中,渉及陣列的題目佔比最多。稍做思考,不難想出這一結果也合乎情理,畢竟陣列是最基本的資料結構,如果不把其弄清楚,想明白,更沒有能力去觸及其它演算法與資料結構的內容了。

於是順乎其理,我以陣列這一主題開始了演算法新旅程。剛入手時其題目數還是224道,結果兩周後又增加了2道,目前還未有進一步的更新,所以並不清楚leetcode題庫更新的頻率。

在刷題的時候會發現,一道題目往往不僅牽扯單一主題,還會與其它主題相關,做這類題目時獲得的收穫往往也更多。同時**上確實有功能可以將題目所附的標籤顯示出來,建議最初時不要開啟這一選項,因為知道了題目的特性,可能也就明白了解題的思路,但在剛開始答題的階段,這樣的提示並不有利於思考,只有在自身經過一番推敲琢磨之後,再檢視這些資訊,才能獲得更佳體驗。

當然,做這些題目,尤其是中等以上難度的題目,既使花上幾個小時,解不出題,也是正常的情況,本人便是一例。因為之前沒有仔細在演算法方面打磨過自己,對演算法題的生疏也是在所難免。這並非要給自己找乙個推脫的藉口,演算法,就像其它有價值的能力一樣必須要經過相當時間的刻意練習,才可以達成某種程度的熟練度。

種一棵樹最好的時間是十年前,其次是現在。既然十年前自己沒有努力提公升演算法能力,那麼到了今日,還有這個念想的話,只有邁步前行乙個方法而已。

這裡只是些閒談,並不會詳細記錄每道題的解法,在刷完陣列主題所有題目後應該會有一篇比較詳實的記錄,這裡又定了個小計畫。再之後將會聚焦於leetcode中100道最受喜愛的題目,完成後繼續做總結,然後會是動態規劃主題,還是需要總結,如此這般持續進行,雖然期望在一年內完成所有題目,但估計不太可行,不如退而求其次,能夠養成經常做演算法題目的習慣,反而會是更好的收穫。

快樂印度一月遊

大鬧印度乙個月 天天和印度人說瘋狂英語,手舞足蹈,印度同事痛苦的抱著腦袋大叫 my gad,my gad.我還主動替別人翻譯呢,結果.哈哈 工作時,加班,通宵,我承擔我應該承擔的鴨梨,我不是弱弱女生,我是個有責任心的技術高手,雖然焦慮的頭髮也掉了,皺紋也爬上來了,我不怕,我能扛的住!嘿嘿 工作閒暇時...

一月讀書總結 11月

講述50種思維方法。有些還不錯,對擴充套件自己的思維有一定的幫助。比如裡面的乙個問題,也是好多面試題裡面出現的,7個藥瓶,其中乙個比其它輕,稱幾次能稱出來。書中從3個藥瓶分析,再進行拓展來解題,給出了這一類題的思路。沒事的時候可以看看。和經典思維差不多態別的書。講述了100個博弈技巧,乙個個的故事講...

2016 10月小結 荒蕪的一月

10.10周一 只刷了幾道簡單暴力 10.11周二 10.12週三 10.13周四 貌似一直刷水題 10.14周五 10.15週六 10.16週日 這周一直在刷些比較水的題,想讓自己找找刷題的感覺,刷題中發現一些小的坑點自己老改不出來,並且腦子反應遲鈍,好多容易沒想法思路不清晰,也該陸續複習一些學過...