:star:前言
題目來源
本文最新的題目更新在
https://github.com/fengdongdongwsn/high-frequency-algorithm
本文收集了在面試中,公司高頻出現的算法題目。避免你在準備開始刷題或者是正在刷題時,沒有目標。力扣題目實在是太多了。但是我們沒有必要去把每道題都刷一遍。本系列題目主要來源如下:
- 牛客面經整理的面經真題
- 牛客網和力扣上高頻面試題欄目收集而來
:star:高頻面試真題
表格中的內容很多都是力扣上的,建議牛客上的劍指offer,先刷完
數組 |
力扣1:兩數之和 |
力扣1299:將每個元素替換爲右側最大元素 |
力扣1464:數組中兩個元素的最大乘積 |
力扣15:三數之和 |
力扣179:最大數 |
力扣189:旋轉數組 |
力扣215:數組中第K個最大元素 |
力扣239:滑動窗口的最大值 |
力扣33:搜索旋轉排序數組 |
力扣349:兩個數組的交集1 |
力扣350:兩個數組的交集2 |
力扣384:打亂數組 |
力扣4:求兩個正序數組的中位數 |
力扣40:數組總和 |
力扣41:缺失的第一個正數 |
力扣416:分割等和數組 |
力扣42:接雨水問題 |
力扣442:數組中重複的數據 |
力扣448:找到所有數組中消失的數字 |
力扣45:跳躍遊戲(跳躍次數) |
力扣48:旋轉圖像 |
力扣480:滑動窗口中位數 |
力扣525:連續子數組 |
力扣54:螺旋矩陣 |
力扣55:跳躍遊戲(跳躍距離) |
力扣556:下一個更大元素 |
力扣56:合併區間 |
力扣560:和爲K的子數組 |
力扣658:找到K個最接近的元素 |
力扣659:分割數組爲連續子序列 |
力扣74:搜索二維矩陣 |
力扣84:柱狀圖中的最大矩行 |
力扣88:合併兩個有序數組 |
力扣915:分割數組 |
字符串 |
力扣1312:讓字符串成爲迴文串的最少插入次數 |
力扣139:單詞拆分1 |
力扣140:單詞拆分2 |
力扣165:比較版本號 |
力扣22:生成括號 |
力扣316:去除重複字母保證字典序最小 |
力扣415:字符串相加 |
力扣43:字符串相乘 |
力扣44:通配符匹配 |
力扣443:字符串壓縮 |
力扣557:反轉字符串中的單詞 |
力扣67:二進制求和 |
力扣72:編輯距離 |
力扣93:復原IP地址 |
劍指offer46:把數字翻譯成字符串 |
KMP算法 |
力扣647:一個字符串中有多少個迴文字串 |
力扣17:電話號碼的字母組合 |
排序算法 |
快速排序 |
插入排序 |
歸併排序 |
希爾排序 |
堆排序 |
最長問題 |
最長迴文字串 |
最長迴文子序列 |
最長連續公共字串 |
最長公共子序列 |
最長連續爲1的字串 |
最長有效括號 |
最長無重複字符的連續字串 |
最長等差數列 |
最長上升連續序列 |
最長上升子序列 |
最長和諧子序列 |
動態規劃問題 |
力扣121:買賣股票(一次交易) |
力扣122:買賣股票(多次交易) |
力扣134:加油站 |
力扣309:買賣股票(包含冷凍時間) |
力扣322:零錢兌換 |
力扣518:零錢兌換 |
力扣53:最大子緒和 |
力扣674:未經排序數組最長連續遞增序列 |
把數字翻譯成字符串 |
剪繩子 |
接雨水 |
禮物的最大價值 |
鏈表 |
力扣109:將有序鏈表轉化爲二叉搜素樹 |
力扣141:環形鏈表判斷是否有環 |
力扣142:環形鏈表檢測入口位置 |
力扣143:重拍鏈表 |
力扣160:相交鏈表 |
力扣206:反轉鏈表 |
力扣21:合併兩個有序鏈表 |
力扣23:合併K和有序鏈表 |
力扣234:迴文聯表 |
力扣25:K個一組反轉鏈表 |
力扣328:奇偶鏈表 |
力扣445:鏈表求和(頭對齊:尾對齊) |
力扣80:刪除排序數組中的重複元素 |
力扣82:刪除重複元素 |
力扣83:刪除排序鏈表中的重複元素 |
力扣86:分割鏈表 |
劍指offer:二叉搜索樹和雙向鏈表 |
劍指offer22:鏈表中倒數第K個節點 |
劍指offer54:二叉搜索樹中的第K大節點 |
LRU實現 |
從尾到頭打印鏈表 |
樹 |
力扣102:二叉搜索樹的層次遍歷 |
力扣105:從前序和中序重構二叉樹 |
力扣108:將有序數組轉化爲二叉搜索樹 |
力扣110:平衡二叉樹 |
力扣113:路徑總和 |
力扣124:二叉樹的最大路徑和 |
力扣1325:刪除給定值的葉子節點 |
力扣144:二叉樹的前序遍歷(非遞歸) |
力扣145:二叉樹的後續遍歷(非遞歸) |
力扣199:二叉樹的右視圖 |
力扣208:實現Trie前綴樹 |
力扣222:完全二叉樹的節點數 |
力扣226:翻轉二叉樹 |
力扣236:二叉樹的最近公共祖先 |
力扣257:二叉樹的所有路徑 |
力扣297:二叉樹的序列化和反序列化 |
力扣450:刪除二叉樹中的節點 |
力扣543:二叉樹的直徑長度 |
力扣617:合併二叉樹 |
力扣662:二叉樹的最大寬度 |
力扣687:最長同值路徑 |
力扣94:二叉樹中序遍歷(非遞歸) |
力扣958:二叉樹的完全性檢驗 |
力扣98:驗證二叉搜索樹 |
力扣99:恢復二叉搜索樹 |
重建二叉樹 |
Z字形層次遍歷 |
深搜 |
力扣1254:封閉島嶼的數目 |
力扣200:島嶼的數量 |
力扣209:課程表 |
力扣365:水壺問題 |
力扣46:全排序 |
力扣463:島嶼的周長 |
力扣547:朋友圈 |
力扣695:島嶼的面積 |
力扣733:顏色渲染 |
二維矩陣中尋找最大正方形 |
矩陣中的路徑 |
括號生成 |
冪集 |
數學問題 |
力扣1240:鋪瓷磚 |
力扣202:快樂數 |
力扣204:計算質數 |
力扣37:解數獨 |
力扣43:字符串相乘 |
力扣50:計算pow |
力扣509:斐波那契數列 |
力扣679:24點遊戲 |
力扣7:迴文素數 |
計算表達式的值 |
開平方根函數(會兩種) |
數字轉16進制 |
堆棧問題 |
力扣155:最小棧 |
力扣225:用隊列實現棧 |
力扣232:用兩個棧實現隊列 |
力扣312:戳氣球 |
面試金典0305:棧排序 |
使用數組實現隊列 |
棧的壓入彈出序列是否合法 |
打印棧的壓入和彈出的序列 |
會議安排(小紅書現場原題) |
力扣406:根據身高重建隊列 |
其他真題 |
力扣135:分發糖果 |
力扣198:打家劫舍 |
力扣213:打家劫舍 |
力扣337:打家劫舍 |
力扣301:刪除無效的括號 |
兩個線程交替打印奇偶數 |
三個線程順序打印ABC |
實現讀寫鎖 |
死鎖的案例 |
本文題目持續更新。。。。
本文最新的題目更新在
https://github.com/fengdongdongwsn/high-frequency-algorithm
給個支持唄:heart: