如何更好地學習和練習Leetcode

寫在前面的話

無論你是爲了面試還是爲了提升自己的編程水平,你都應該好好學習Leetcode 算法。

爲什麼呢?

不知你們有沒有發現,其實不止BAT 等知名大廠,其他各大中小企業也已慢慢地已不再滿足僅僅功能的實現,而是如何更高效,更高可用。

  • 就好比同樣計算1+1+1+1+1 等於多少,在以前我們用加法算對就行。現在可不行,你得會用乘法。
  • 你說同樣一部分業務數據,爲什麼數組比鏈表查詢速度更快?不知道答案的看我的另外一篇博文

再扯遠點,我們知道,以前服務器資源都很貴,算是稀缺資源,企業買服務器都儘可能節省成本,因此單體架構盛行,只要產品能用,好看就行,服務器資源都是能省則省。

如今則不一樣,如今的服務器資源幾乎可以說是過剩的,企業不再怕花錢,不怕多搞服務器,只要能提高性能和高可用,能提供更好的服務,就有錢掙,那就沒問題,所以你們應該也能感受到,今年應該是微服務架構開發最火的一年,各大中小企業需求量也很大。

PS: 隨着Serverless的慢慢普及,程序員面向雲服務開發日子應該也不遠了。

另一方面,如今互聯網行業發展了這麼多年,各種產品需求幾近飽和,企業的紅利已經不多了,這才需要發展5G ,用更快的速度帶動更多的創業機會。

另外, Leetcode 對於升級高級程序員段位來說變得也愈加重要。

算法,我認爲它之所以如此重要在於兩點:

  • 第一:可以提升我們解決問題的思路
  • 第二:可以更加高效靈活使用Java數據結構

好了扯完了,下面推薦下我的開源項目,教你如何更好地學習和練習Leetcode算法。

開始之前分享下我的學習心法:

  • 算法入門心法第一層:不會寫,就先多看。
  • 算法入門心法第二層:看完了就背誦默寫答案。
  • 算法入門心法第三層:然後開始嘗試理解和感悟題解的思想和解法規律
  • 算法入門心法第四層:把自己的大腦當成電腦, 按照大腦的思考方式分步驟轉換成代碼即可。
  • 算法入門心法第五層:開始模仿算法解題思路去解決一些新題目或題目變種
  • 算法入門心法第六層:靈活掌握各種算法的優缺點,解決實際問題。
  • 算法入門心法第七層:自創算法,去改造優化算法。

1. 入門指南

你想知道怎麼使用它麼?

好,現在讓我們開始。

1.1 如何下載該項目

  • 首先我們需要把它fork或者clone 下載到你的電腦裏。
git clone https://github.com/geekxingyun/leetcode-java-algorithm-solution.git
  • 然後你將會發現項目分成了兩個模塊
  • complete: 這個一個已經完成的項目模塊包含了Leetcode 算法問題的參考答案。
  • initial: 你只需要在這個項目裏練習寫算法就好了。

如果你不知道哪道題如何寫,就打開complete 模塊找答案就是了。

1.2 如何使用這個項目

項目代碼持續更新中, 當前效果圖如下:
在這裏插入圖片描述

1.2.1 使用Maven

如果你使用的是Maven 就用Intellij idea 或Eclise 打開項目根目錄的pom.xml

然後在initial 模塊寫代碼就行了

1.2.2 使用Gradle

如果你使用的是Maven 就用Intellij idea 或Eclise 打開項目根目錄的build.gradle

然後在initial 模塊寫代碼就行了

1.3 貢獻

我是技術宅星雲,英文名 fairy, 是一名Java 軟件工程師。

如果你認爲這個項目對你有用,請標記個star以便於更多的人能知道這個項目。

如果有任何問題請發送郵件給我,[email protected]

說完了,謝謝~

1.4 項目開源地址

https://github.com/geekxingyun/leetcode-java-algorithm-solution.git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章