LeetCode 面試知識點小結

本文轉載自知乎:Leetcode 面試高頻題 TimothyL

刷題前先確?;緮祿Y構知識已掌握:數據結構基礎知識體系詳解、數據結構skywang12345

LeetCode 做題心得,解題方法:動畫形式解LeetCode題目cookbook

最終掌握各種數據結構的原理、代碼實現、常用模板、應用場景

高頻知識點

序號 題目類型 知識點概述 例題 難度評估
1 排序類(Sort) 掌握快速排序、歸并排序的原理與代碼實現,以及它們在數組、鏈表、區(qū)間等問題中的應用。 Leetcode 148. Sort List(鏈表歸并排序),Leetcode 56. Merge Intervals(區(qū)間合并),Leetcode 215. Kth Largest Element in an Array(數組快速選擇) 中等
2 鏈表類(Linked List) 掌握鏈表的實現、遍歷、反轉、快慢指針等基本操作,以及它們在環(huán)形鏈表、回文鏈表、合并鏈表等問題中的應用。 Leetcode 141. Linked List Cycle(環(huán)形鏈表判斷),Leetcode 234. Palindrome Linked List(回文鏈表判斷),Leetcode 21. Merge Two Sorted Lists(合并兩個有序鏈表) 簡單
3 堆(Heap or Priority Queue)、棧(Stack)、隊列(Queue)、哈希表類(Hashmap、Hashset) 掌握各個數據結構的基本原理,增刪查改,以及它們在最近最少使用緩存、滑動窗口、最大最小棧隊列、最小生成樹、括號匹配等問題中的應用。 Leetcode 239. Sliding Window Maximum(滑動窗口最大值),Leetcode 23. Merge k Sorted Lists(合并k個有序鏈表),Leetcode 20. Valid Parentheses(括號匹配) 中等
4 二分查找類(Binary Search) 掌握二分查找的原理、邊界條件、變形題目;分類:顯式與隱式。顯式是指數組中存在目標值,隱式是指數組中不存在目標值,但可以通過某種條件來確定目標位置。 Leetcode 704. Binary Search(顯式二分查找),Leetcode 35. Search Insert Position(隱式二分查找) 簡單
5 雙指針(Two Pointers) 掌握雙指針的原理、分類、應用場景;分類:同向、背向、相向。同向是指兩個指針從同一端開始移動,背向是指兩個指針從兩端開始移動,相向是指兩個指針從不同方向開始移動。 Leetcode 26. Remove Duplicates from Sorted Array(同向雙指針),Leetcode 167. Two Sum II - Input array is sorted(背向雙指針),Leetcode 19. Remove Nth Node From End of List(相向雙指針) 簡單
6 二叉樹類(Binary Tree) 掌握二叉樹的遍歷、遞歸、迭代、層次遍歷、前中后序遍歷等基本操作,以及它們在二叉搜索樹、平衡二叉樹、完全二叉樹等問題中的應用。 Leetcode 94. Binary Tree Inorder Traversal(中序遍歷),Leetcode 102. Binary Tree Level Order Traversal(層次遍歷),Leetcode 98. Validate Binary Search Tree(二叉搜索樹判斷) 中等
7 寬度優(yōu)先搜索(BFS) 解決什么問題:簡單圖的最短路徑長度;拓撲排序;遍歷一個圖(或者樹)。BFS基本模板(需要記錄層數或者不需要記錄層數),以及它們在最短路徑、拓撲排序、島嶼數量等問題中的應用。 Leetcode 127. Word Ladder(最短路徑),Leetcode 207. Course Schedule(拓撲排序),Leetcode 200. Number of Islands(島嶼數量) 中等
8 深度優(yōu)先搜索(DFS) 解決什么問題:圖中的符合某種特征的路徑以及長度、排列組合、遍歷一個圖(或者樹)、找出圖或者樹中符合題目要求的全部方案。DFS基本模板(需要記錄路徑,不需要返回值 and 不需要記錄路徑,但需要記錄某些特征的返回值),以及它們在組合數、子集、全排列等問題中的應用。 Leetcode 77. Combinations(組合數),Leetcode 78. Subsets(子集),Leetcode 46. Permutations(全排列) 中等
9 回溯法類(Backtracking) 掌握回溯法的原理、剪枝技巧、常見模板,以及它們在N皇后、數獨、單詞搜索等問題中的應用。 Leetcode 51. N-Queens(N皇后),Leetcode 37. Sudoku Solver(數獨),Leetcode 79. Word Search(單詞搜索) 困難
10 前綴和(Prefix Sum) 掌握前綴和的定義、計算方法、應用場景,以及它們在子數組和、區(qū)間和等問題中的應用。 Leetcode 560. Subarray Sum Equals K(子數組和為k),Leetcode 303. Range Sum Query - Immutable(區(qū)間和查詢) 簡單

中頻知識點

序號 題目類型 知識點概述 例題 難度評估
1 并查集(Union Find) 掌握并查集的原理、合并與查找操作的模板、應用場景;牢記合并與查找兩個操作的模板,它們在連通分量、朋友圈、冗余連接等問題中的應用。 Leetcode 547. Number of Provinces(朋友圈),Leetcode 684. Redundant Connection(冗余連接) 中等
2 字典樹(Trie) 掌握字典樹的原理、實現方法、應用場景;它們在單詞搜索、自動補全、最長公共前綴等問題中的應用。 Leetcode 208. Implement Trie (Prefix Tree)(字典樹實現),Leetcode 212. Word Search II(單詞搜索),Leetcode 14. Longest Common Prefix(最長公共前綴) 中等
3 單調棧與單調隊列(Monotone Stack/Queue) 單調指保留在?;蛘哧犃兄械臄底质菃握{遞增或者單調遞減的;單調棧一般用于解決數組中找出每個數字的第一個大于/小于該數字的位置或者數字;在柱狀圖中最大的矩形、滑動窗口最大值等問題中的應用。 Leetcode 84. Largest Rectangle in Histogram(柱狀圖中最大的矩形),Leetcode 239. Sliding Window Maximum(滑動窗口最大值) 困難
4 掃描線算法(Sweep Line) 解決時間安排沖突,在會議室安排、日程表等問題中的應用。 Leetcode 253. Meeting Rooms II(會議室安排),Leetcode 731. My Calendar II(日程表) 中等
5 TreeMap 基于紅黑樹的樹狀 hashmap,它們在數據流中第K大元素、快照數組等問題中的應用。 Leetcode 703. Kth Largest Element in a Stream(數據流中第K大元素),Leetcode 1146. Snapshot Array(快照數組) 中等
6 動態(tài)規(guī)劃(Dynamic Programming) 掌握動態(tài)規(guī)劃的定義、狀態(tài)轉移方程、優(yōu)化技巧,它們在最長遞增子序列、最長公共子序列、背包問題等問題中的應用。 Leetcode 300. Longest Increasing Subsequence(最長遞增子序列),Leetcode 1143. Longest Common Subsequence(最長公共子序列),Leetcode 416. Partition Equal Subset Sum(背包問題) 中等
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容