<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          賊牛的 Go 版本 LeetCode 刷題手冊

          共 1965字,需瀏覽 4分鐘

           ·

          2021-02-21 15:00

          關(guān)于 LeetCode

          說到 LeetCode,作為一個(gè)程序員來說,應(yīng)該不陌生,近幾年參加面試都會(huì)提到它。國內(nèi)外的程序員用它刷題主要是為了面試。據(jù)歷史記載,這個(gè)網(wǎng)站 2011 年就成立了,馬上就要到自己 10 周年的生日了。每周舉行周賽,雙周賽,月賽,在有限時(shí)間內(nèi)編碼,確實(shí)非常能考驗(yàn)人的算法能力。一些大公司贊助冠名的比賽獲得前幾名除了有獎(jiǎng)品,還能直接拿到內(nèi)推的機(jī)會(huì)。

          為什么會(huì)寫這個(gè)開源書

          筆者刷題刷了一年了,想和大家分享分享一些做題心得,解題方法。想和有相同愛好的人交個(gè)朋友,一起交流學(xué)習(xí)。對于自己來說,寫題解也是一種提高。把一道深?yuàn)W的題目講給一點(diǎn)都沒有頭緒的人,并能讓他完全聽懂,很能鍛煉人的表達(dá)能力。在講解中很可能還會(huì)遇到聽者的一些提問,這些問題可能是自己的知識(shí)漏洞,強(qiáng)迫自己去彌補(bǔ)。筆者在公司做過相關(guān)的分享,感受很深,雙方受益都還不錯(cuò)。

          另外,在大學(xué)期間,筆者做題的時(shí)候最討厭寫題解,感覺是浪費(fèi)時(shí)間,用更多的時(shí)間去做更多的題?,F(xiàn)在不知道算不算是“出來混的,總是要還的”。

          關(guān)于作者

          筆者是一個(gè)剛剛?cè)胄幸荒臧氲?gopher 新人,還請各位大佬多多指點(diǎn)小弟我。大學(xué)參加了 3 年 ACM-ICPC,但是由于資質(zhì)不高,沒有拿到一塊金牌。所以在算法方面,我對自己的評價(jià)算是新手吧。參加 ACM-ICPC 最大的收獲是訓(xùn)練了思維能力,這種能力也會(huì)運(yùn)用到生活中。其次是認(rèn)識(shí)了很多國內(nèi)很聰明的選手,看到了自己和他們的差距。最后,就是那 200 多頁,有些自己都沒有完全理解的,打印的密密麻麻的 算法模板。知識(shí)學(xué)會(huì)了,終身都是自己的,沒有學(xué)會(huì),那些知識(shí)都是身外之物。

          筆者從 2019 年 3 月 25 號(hào)開始刷題,到 2020 年 3 月 25 號(hào),整整一年的時(shí)間。原計(jì)劃是每天一題。實(shí)際上每天有時(shí)候不止一題,最終完成了 600+:

          一個(gè)溫馨提示:筆者本以為每天做一題,會(huì)讓這個(gè) submissions 圖全綠,但是我發(fā)現(xiàn)我錯(cuò)了。如果你也想堅(jiān)持,讓這個(gè)圖全綠,一定要注意以下的問題:LeetCode 服務(wù)器是在 +0 時(shí)區(qū)的,這個(gè)圖也是按照這個(gè)時(shí)區(qū)計(jì)算的。也就是說,中國每天早上 8 點(diǎn)之前,是算前一天的!也是因?yàn)闀r(shí)區(qū)的問題,導(dǎo)致我空白了這 22 個(gè)格子。比如有一道 Hard 題很難,當(dāng)天工作也很多,晚上下班回家想出來了就到第二天凌晨了。于是再做一題當(dāng)做第二天的量。結(jié)果會(huì)發(fā)現(xiàn)這 2 題都算前一天的。有時(shí)候筆者早上 6 點(diǎn)起床刷題,提交以后也都是前一天的。

          (當(dāng)然這些都是過去了,不重要了,全當(dāng)是奮斗路上的一些小插曲)

          2020 年筆者肯定還會(huì)繼續(xù)刷題,因?yàn)檫€沒有達(dá)到自己的一些目標(biāo)??赡軙?huì)朝著 1000 題奮進(jìn),也有可能刷到 800 題的時(shí)候回頭開始二刷,三刷。(不達(dá)目的不罷休吧~)

          關(guān)于書中的代碼

          代碼都放在 github 倉庫(https://github.com/halfrost/LeetCode-Go) 中,按題號(hào)可以搜索到題目。本書題目的代碼都已經(jīng) beats 100% 了。沒有 beats 100% 題解就沒有放到本書中了。那些題目筆者會(huì)繼續(xù)優(yōu)化到 100% 再放進(jìn)來。

          有可能讀者會(huì)問,為何要追求 beats 100%。筆者認(rèn)為優(yōu)化到 beats 100% 才算是把這題做出感覺了。有好幾道 Hard 題,筆者都用暴力解法 AC 了,然后只 beats 了 5%。這題就如同沒做一樣。而且面試中如果給了這樣的答案,面試官也不會(huì)滿意,“還有沒有更優(yōu)解?”。如果通過自己的思考能給出更優(yōu)解,面試官會(huì)更滿意一些。

          LeetCode 統(tǒng)計(jì)代碼運(yùn)行時(shí)長會(huì)有波動(dòng)的,相同的代碼提交 10 次可能就會(huì) beats 100% 了。筆者開始沒有發(fā)現(xiàn)這個(gè)問題,很多題用正確的代碼連續(xù)交了很多次,一年提交 3400+ 次,導(dǎo)致我的正確率也變的奇高。??

          當(dāng)然,如果還有其他更優(yōu)美的解法,也能 beats 100% 的,歡迎提交 PR,筆者和大家一起學(xué)習(xí)。

          使用說明

          該開源書支持 Progressive Web AppsDark Mode 的題解電子書,可以通過 iOS/Android 瀏覽器安裝 PWA 版《LeetCode Cookbook》至設(shè)備桌面隨時(shí)學(xué)習(xí),在線地址:https://books.halfrost.com/leetcode/。

          點(diǎn)擊下方卡片關(guān)注公眾帳號(hào),回復(fù) leetcode,可以獲取離線的電子書《LeetCode Cookbook》PDF 版本。


          點(diǎn)擊閱讀原文進(jìn)行查看,查看更多詳細(xì)內(nèi)容。

          瀏覽 86
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久影院av | 爆乳一级 | 无码成人午夜在线影院 | 超碰免费网 | 激情5月婷婷 |