如何高效刷算法題

安卓現(xiàn)在可卷了,現(xiàn)在招聘都是人均造火箭水平献联,雖然進(jìn)去還是擰螺絲竖配。以前大部分公司不做算法也ok,現(xiàn)在稍微有點規(guī)模的公司里逆,甚至初創(chuàng)公司都是算法考的飛起进胯。

為啥?大概是疫情干倒了好多互聯(lián)網(wǎng)公司原押,甚至大廠也流出了很多大佬在市場上跟你搶飯碗胁镐,然后大佬在空降小廠坐鎮(zhèn)tl甚至總監(jiān),算法成必卷項了诸衔,怎么搞盯漂,刷刷唄。

BUT笨农,刷算法的鐵汁就缆,有沒有這樣的體驗?上個月刷的題谒亦,上周刷的題竭宰,甚至昨天刷的題轉(zhuǎn)眼就忘了空郊。

最近幾個月我也在刷算法題,已經(jīng)刷了快100題了切揭。在工作的同時學(xué)習(xí)刷算法狞甚,個人感覺這個效率還可以。不過也走了一些彎路廓旬,所以把自己的心得分享一下哼审,大致思路就是:

1.由簡向繁

首先如果是新手,刷算法肯定會遇到難題嗤谚,會被各種阻塞,很容易搞心態(tài)怔蚌,從入門到放棄巩步,但是本質(zhì)上也不是你不夠聰明,大概率是因為你沒有一個方法論桦踊,加上熟能生巧椅野。
所以正確的初入刷題姿勢應(yīng)該是

打開leetcode.com網(wǎng)站 >> 打開題庫 >> 點擊通過率


通過率

通過率這么高,一般題目也容易做籍胯,這樣才不容易從入門到放棄 - ->股痢!

2杖狼、分類刷題

其實刷題容易忘炼蛤,除了有題目難,解法復(fù)雜的因素之外蝶涩,還有一個因素是理朋,沒有形成體系。
分類刷題就是為了解決這個問題的绿聘。首先從一類題入手這里推薦網(wǎng)站labuladong嗽上,里面除了對題目進(jìn)行典型分類梳理,還有很詳細(xì)的解題思路描述熄攘。
同樣的分類刷題依舊是采用由簡到繁的原則兽愤,舉個例子。
labuladong頁面一開始的鏈表題

鏈表題

如果你全部做完挪圾,你會發(fā)現(xiàn)其實困難題浅萧,大部分是由簡單題解法的混合操作,也就是簡單題的發(fā)散了哲思,所以不要瞧不起簡單題惯殊,它是你成功的基石。
比如合并K個鏈表也殖,一般效率最高的方式就是采用分治土思,分治的意思就是分而治之务热,把原來基數(shù)比較大的問題分割成小的問題,一直分割到最小兩個元素的處理己儒,最后問題就轉(zhuǎn)換成了21題的合并兩個有序鏈表的方法崎岂。
ABCDEFGHM -> ABCD EFGHM
-> AB CD EF GH M 然后AB合并成了新的鏈表L CD為N 繼續(xù)合并L和N如此往復(fù),
最后困難題就被拆解成簡單題了闪湾。

public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode top = new ListNode();
        ListNode index = top;
        
        while(list1 != null && list2 != null){
            if(list1.val > list2.val) {
                index.next = list2;
                list2 = list2.next; 
            }else{
                index.next = list1;
                list1 = list1.next;
            }
            index = index.next;
        }

        index.next = list1 != null ?  list1 : list2;
        return top.next;
    }

再比如876找到鏈表的中間位置

public ListNode middleNode(ListNode head) {
        ListNode f = head;
        ListNode s = head;
        while(f.next != null && f.next.next != null){
            f = f.next.next;
            s = s.next;
        }
        return f.next != null ? s.next : s;
    }

那么我們就可以利用這個題目配合遞歸的深度逆向特性解決掉一些需要逆轉(zhuǎn)鏈表頭尾節(jié)點的題目冲甘。

在連續(xù)一段時間內(nèi)持續(xù)的對一種方法進(jìn)行正向刺激,達(dá)到強化記憶的效果途样。
然后在整體刷完一大類題之后江醇,再重新回來看這里的題目,重新加深記憶何暇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陶夜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子裆站,更是在濱河造成了極大的恐慌条辟,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宏胯,死亡現(xiàn)場離奇詭異羽嫡,居然都是意外死亡,警方通過查閱死者的電腦和手機肩袍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門杭棵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氛赐,你說我怎么就攤上這事颜屠。” “怎么了鹰祸?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵甫窟,是天一觀的道長。 經(jīng)常有香客問我蛙婴,道長粗井,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任街图,我火速辦了婚禮浇衬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘餐济。我一直安慰自己耘擂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布絮姆。 她就那樣靜靜地躺著醉冤,像睡著了一般秩霍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚁阳,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天铃绒,我揣著相機與錄音,去河邊找鬼螺捐。 笑死颠悬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的定血。 我是一名探鬼主播赔癌,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼澜沟!你這毒婦竟也來了灾票?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤倔喂,失蹤者是張志新(化名)和其女友劉穎铝条,沒想到半個月后靖苇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體席噩,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年贤壁,在試婚紗的時候發(fā)現(xiàn)自己被綠了悼枢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡脾拆,死狀恐怖馒索,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情名船,我是刑警寧澤绰上,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站渠驼,受9級特大地震影響蜈块,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜迷扇,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一百揭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜓席,春花似錦器一、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渺贤。三九已至,卻和暖如春踢步,著一層夾襖步出監(jiān)牢的瞬間癣亚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工获印, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留述雾,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓兼丰,卻偏偏與公主長得像玻孟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鳍征,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容