系統性學習演算法,紮實您的打碼基本功!
作為演算法初學者的我從19年8月份開始在力扣學習演算法,到現在ac了700多道題目。
隨著打卡題目數量的增多,我發現演算法常見考察的知識點大概有十幾種,包括:二分,滑動視窗,雙指標,單調棧(單調佇列),鍊錶,二叉樹,字串處理,dfs + 回溯,並查集,動態規劃,貪心,位運算,數論(質數、約數、尤拉函式、歐幾里得演算法、中國剩餘定理、簡單博弈論等),圖論(dfs、bfs、flood fill、拓撲排序、二分染色、最短路、最小生成樹等)
訪問我的電子書《從零開始學演算法》,獲取更好的閱讀體驗
字串處理
dfs和回溯
單調棧雙指標
滑動視窗
字首和差分陣列
鍊錶二叉樹
字典樹貪心
動態規劃
並查集位運算
圖論二分圖
最小生成樹
數論
力扣題目總結
135.分發糖果 根據規則只需要滿足每個人至少有乙個糖果,且前乙個的評分如果比後乙個高就需要它的糖果更多 但是只有一遍的話會出現bug,因為每次對比可能會使自身糖果數發生改變從而導致前乙個的糖果數不準確,此時我們需要從後往前再來一遍再進行一次遍歷修正。intcandy int ratings,int...
力扣總結 環形鍊錶相關題目
1.160.相交鍊錶 編寫乙個程式,找到兩個單鏈表相交的起始節點。如下面的兩個鍊錶 在節點 c1 開始相交。示例 1 輸入 intersectval 8,lista 4,1,8,4,5 listb 5,0,1,8,4,5 skipa 2,skipb 3 輸出 reference of the nod...
力扣題目 實現 strStr
題目 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。解題思路 1.對各種極端的情況進行處理 比如,原字串長度比要尋找的字串短,空字串,以及兩個字串本來就相同 2.對一般的字串的操作 ...