溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

兩個月刷400道leetcode之后的經(jīng)驗(yàn)與心得總結(jié)、真題整理分享

發(fā)布時間:2020-06-17 05:20:25 來源:網(wǎng)絡(luò) 閱讀:1096 作者:Java_老男孩 欄目:編程語言

前言

隨著互聯(lián)網(wǎng)寒潮的到來, 越來越多的互聯(lián)網(wǎng)公司提高了面試的難度,其中之一就是加大了面試當(dāng)中手撕算法題的比例。這里說的算法題不是深度學(xué)習(xí),機(jī)器學(xué)習(xí)這類的算法,而是排序,廣度優(yōu)先,動態(tài)規(guī)劃這類既考核數(shù)據(jù)結(jié)構(gòu)也考核編程能力的題目。刷題的網(wǎng)址非常的多,其中以leetcode是最為出名的。

在刷題上,我花了大量的時間,蹚了許多的坑,總結(jié)了一下,主要有這三個問題:

  1. 刷過的題老是忘,第二次刷的時候還是不會做
  2. 刷題的速度很慢,即使花一天時間,也常常只能刷五六道
  3. 堅(jiān)持不下來,老是刷到一半就停滯下來了,當(dāng)我第二次再來刷的時候,前面刷過的題都又忘的差不多

說出來都是淚,感覺刷題這個路是真的難走,花了很多時間,但是感覺沒有什么收獲。所以最近我一直在反思自己刷題的方法,希望能夠提高刷題的效率和速度。當(dāng)我總結(jié)了以下方法以后,我很明顯的感受到自己的刷題速度從以前周末的一天五六道提升到周末一天刷十五六道以上,速度相比以前提升的非常明顯。

一. 我們來談?wù)劄槭裁匆㈩}

  1. 面試需要。Google以及今日頭條等公司面試的時候,非??粗鼗镜乃惴}目,leetcode 刷的不好第一面都過不了
  2. 刷題能夠提高自信。實(shí)際工作當(dāng)中的代碼論算法復(fù)雜度遠(yuǎn)遠(yuǎn)低于刷題的難度,這么難的題我都刷過了,何況工作的代碼, 當(dāng)然工作當(dāng)中一般也用不到這些我們刷題的方法
  3. 大部分同學(xué)刷題能力需要提高。在面試同學(xué)算法題的時候,三道算法題能夠?qū)懗鲆坏赖囊膊皇呛芏?/li>

二. 如何快速刷題

由于我本人目前只刷了400道左右的題目,很有可能有更好的方法,歡迎大家賜教

  1. 確立計(jì)劃。比如在準(zhǔn)備找工作的時候,明確就要60天刷leetcode 前400題,平均一周就要刷75題,可以周末兩天刷50題,周一到周五 每天刷5題,將問題分解下來,每天一定要完成任務(wù)才能睡覺
  2. 分解計(jì)劃。由于需要一周刷75題,提前規(guī)劃將本周需要刷的75題,整理成excel,刷完一題標(biāo)記一下,一周完畢以后,可以看到滿滿標(biāo)記的excel 非常的有成就感
  3. 快速刷題。初期一天刷五題其實(shí)也是很高的負(fù)擔(dān),一般來說剛刷題,一題都至少要半個小時,一天五道的話,可能至少也要兩個半小時。所以我們在刷題的時候,為了節(jié)約時間,五分鐘沒有思路,就別浪費(fèi)時間了,直接看答案. 另外一個原因,面試的時候,也不可能讓你思考很久。要明確認(rèn)知,這個和高考刷題沒什么區(qū)別,理解不了,先背下來。
  4. 組隊(duì)刷題。大家一起刷題,可以明顯的督促自己堅(jiān)持下來,刷題這個本來就是堅(jiān)持的過程。

三. 如何避免遺忘

  1. 及時重復(fù)。由于我們刷完題以后,遺忘曲線會遵從一個先快后慢的過程,所以要及時重復(fù)刷過的題,這個需要提前規(guī)劃刷的75題,我們會之后再講如何規(guī)劃每周的75題
  2. 與人分享。當(dāng)我們刷完題以后,如果能講給別人聽的話,會大大加深我們的映像,在講給別人聽的時候,如果你能講的很明白,說明你是徹底理解了,但是如果聽的人始終沒有聽明白,那很有可能就是自己沒有理解這個題目,需要自己再回去思考一下這個題目的解法。

四. 如何提高面試環(huán)節(jié)當(dāng)中刷題的表現(xiàn)

  1. 養(yǎng)成bug free 的習(xí)慣。寫完代碼以后, 一定要仔細(xì)檢查,保證沒有思路問題,沒有下標(biāo)越界問題,考慮各種邊界情況,沒有變量命名不一致等問題
  2. 掌握多種解法。算法題面試,做出來是一方面, 如果能夠在這個題目上掌握不同時間復(fù)雜度的解法,然后再呈現(xiàn)給面試官,面試官自然會更加滿意的。假設(shè)一個同學(xué)在面試的時候,先寫時間復(fù)雜度和空間復(fù)雜度最高的方法,面試官很有可能會問你這個題目有更優(yōu)的解法嗎,你再寫時間復(fù)雜度和空間復(fù)雜度稍低一點(diǎn)的解法,如果面試官繼續(xù)問你能不能更優(yōu)化一點(diǎn),你再寫出時間復(fù)雜度和空間復(fù)雜度最優(yōu)的方案,面試官會認(rèn)為你的思考是有深度的,如果一開始就寫出時間復(fù)雜度和空間復(fù)雜度最優(yōu)的方法,面試官只是會覺得這個題目你以前做過而已。

五.結(jié)束語

  1. 刷題最重要的是速度和效率。短時間內(nèi)高質(zhì)量快速刷完才是最終目的,明確自己的認(rèn)知,不要和題目死磕。
  2. 堅(jiān)持下來。如果一個事情方向是正確的時候,即使一時遇到挫折了,也不要?dú)怵H,多總結(jié)方法,持續(xù)提高。刷題這件事情給我的挫敗感是非常高的,中間是一度放棄了很久,但是當(dāng)我想明白這道坎是一定要過的時候,就下定了決心一定要攻克這道難關(guān),持續(xù)總結(jié)方法,持續(xù)進(jìn)步。

我個人認(rèn)為,作為技術(shù)人就要保持終生學(xué)習(xí)的態(tài)度,讓學(xué)習(xí)力成為核心競爭力,才能不被時代所淘汰,而高效的時間支配能讓你變得更加優(yōu)秀,所以,我在這里將這份耗時兩個月整理出來的核心技能知識點(diǎn),送給有需要的人,希望這份資料能對大家有所幫助
以下是部分資料截圖,有需要的可以加入三千人交流群860113481免費(fèi)領(lǐng)取
兩個月刷400道leetcode之后的經(jīng)驗(yàn)與心得總結(jié)、真題整理分享

兩個月刷400道leetcode之后的經(jīng)驗(yàn)與心得總結(jié)、真題整理分享

兩個月刷400道leetcode之后的經(jīng)驗(yàn)與心得總結(jié)、真題整理分享

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI