Leetcode 精選75題 分配比重 題目與題解 熱門考點 演算法框架複習 目錄

閱讀時間約 19 分鐘

建議從左側分類目錄 或者 按Ctrl+F輸入關鍵字進行搜尋


raw-image

Array 類/字串類題目


核心知識點(考點) 回文字串、包含或排除某種字元(例如母音)、反轉字串是熱門考點


回文字串演算法框架複習

合縱連橫: 從 區間DP框架 理解 回文字串的本質


Merge Strings Alternately

交叉合併字串 Merge Strings Alternately_Leetcode 精選75題解析


Greatest Common Divisor of Strings

最大共同子字串 Greatest Common Divisor of Strings_Leetcode 精選75題解析


Kids With the Greatest Number of Candies

擁有最多糖果的小孩 Kids With Greatest Num of Candies_Leetcode 精選75題解析


Can Place Flowers

可以種花嗎? Can Place Flowers_Leetcode 精選75題解析


Reverse Vowels of a String

反轉字串中的母音 Reverse Vowels of a String_Leetcode 精選75題解析


Reverse Words in a String

反轉所有的單字 Reverse Words in a String_Leetcode 精選75題解析


Product of Array Except Self

前綴連乘: 除了自己之外的連乘積 Product of Array Except Self_Leetcode 精選75題


Increasing Triplet Subsequence

是否存在長度為3的遞增子序列 Increasing Triplet Subsequence_Leetcode 精選75題


String Compression

字串壓縮 String Compression_Leetcode 精選75題


雙指標(雙指針, Two pointers)類題目


核心知識點(考點) 搬移、比對、檢查、計算特定條件的元素


Move Zeroes

把零搬到後面 Move Zeroes_Leetcode 精選75題


Is Subsequence

判定字串s是否為字串t的子序列_Leetcode 精選75題


Container With Most Water

讓水槽裝最多的水 Container With Most Water_Leetcode 精選75題


Max Number of K-Sum Pairs

最多可以製造幾個K-sum pairs_Leetcode 精選75題


滑動窗口(滑窗, Sliding window)類題目


核心知識點(考點) 滿足特定條件的連續區間(或 子陣列、子字串)


滑動窗口演算法框架複習

合縱連橫: 從滿足特定條件的區間 理解 滑動窗口 背後的本質


Maximum Average Subarray I

最大平均子陣列 Maximum Average Subarray I_Leetcode #643 精選75題


Maximum Number of Vowels in a Substring of Given Length

包含最多母音,長度為k的子字串_Leetcode #1456 精選75題


Max Consecutive Ones III

滑動窗口應用: 連續為一的最長子陣列_Leetcode #1004 精選75題


Longest Subarray of 1's After Deleting One Element

滑動窗口應用: 刪掉一個元素之後,最長有幾個連續為1的子陣列_Leetcode 精選75題


前綴和(Prefix sum, 離散積分)類題目


核心知識點(考點) 高速計算區間和


前綴和演算法框架與區間和應用複習

合縱連橫: 從區間和應用理解 前綴和 的本質


Find the Highest Altitude

前綴和應用: 尋找旅途中的海拔最高點_Leetcode #1732 精選75題解析


Find Pivot Index

問題化簡_尋找平衡軸心點_Leetcode 精選75題解析


字典(雜湊映射表HashMap) 與 集合(HashSet) 類題目


核心知識點(考點) 常數時間存取已記錄的資訊,檢查元素是否存在


Find the Difference of Two Arrays

集合操作: 尋找兩個陣列的差異值Diff of Two Arrays_Leetcode #2215 精選75題解析


Unique Number of Occurrences

字典應用題_判斷是否每個元素的出現次數都不同 Leetcode #1207 精選75


Determine if Two Strings Are Close

字串應用題 判定兩個字串是否接近(Close) Leetcode #1657 精選75


Equal Row and Column Pairs

字典應用: 計算相同的column row pairs_Leetcode 精選75題解析


堆疊(Stack棧、Monotone stack單調棧) 類題目


核心知識點(考點) 後進先出的性質、配對模型(例: 經典的*號 或 括弧配對)、往前或往後看找最大值/最小值、替代Recursion function call 用來實現DFS


配對模型演算法框架複習

合縱連橫: 從 括弧配對 理解 配對模型與Stack應用


Removing Stars From a String

堆疊應用+模擬: 移除字串中的星號_Leetcode 精選75題解析


Asteroid Collision

堆疊應用+模擬: 星球碰撞_Leetcode 精選75題解析


Decode String

堆疊應用+模擬: 字串解碼_Leetcode 精選75題解析


Daily Temperatures

用 單調棧 來解 每日溫度變化 Daily Temperatures Leetcode #739 精選75題


Online Stock Span

用 單調棧 來解 最近幾日股價的高點 Online Stock Span_Leetcode #901精選75題


佇列 (Queue、隊列) 類題目


核心知識點(考點) 先進先出的性質、最靠近頭部的資料處理、圖論驗算法中的排隊(bfs_queue或priorty_queue)


Number of Recent Calls

系統設計: 最近幾筆的來電紀錄_Leetcode 精選75題解析


Dota2 Senate

互動遊戲模擬題 DOTA2 元老對戰遊戲_Leetcode #649_Leetcode 精選75題解析


鏈結串列 (Linkedlist 串列、鍊表) 類題目


核心知識點(考點) 插入節點、修改節點、刪除節點、檢查節點、反轉串列


Delete the Middle Node of a Linked List

串列應用: 刪除鏈結串列的中央節點_Leetcode #2095_Leetcode精選75題


Odd Even Linked List

重組為奇串列和偶串列 Odd Even Linked List_Leetcode #328 精選75題


Reverse Linked List

串列應用: 反轉整個串列Reverse Linked List_Leetcode #206_Leetcode 精選75


Maximum Twin Sum of a Linked List

鏈結串列中的Twin Sum的最大值_Leetcode #2130_Leetcode 75題精選


深度優先搜索 (DFS)類題目


核心知識點(考點) 圖、樹、串列中的深度優先搜索路徑的存在性檢查、常常配合回溯法來枚舉所有的可能情況


路徑搜索應用配合DFS演算法框架

合縱連橫: 從 路徑搜索 理解DFS背後的本質


枚舉類應用配合DFS+回溯法演算法框架

合縱連橫: DFS+回溯法框架_理解背後的本質


枚舉類應用配合DFS+回溯法演算法框架 解開Combination Sum全系列題

觸類旁通: 用 DFS回溯法框架 解 組合數之和 Combination sum 全系列題。


Maximum Depth of Binary Tree

一題多解 二元樹的最大深度 Maximum Depth of Binary Tree_Leetcode 104精選75


Leaf-Similar Trees

圖論應用題: 判定是否為葉子相似樹? Leaf-similar Trees_Leetcode #871_精選75題


Count Good Nodes in Binary Tree

圖論變化題: 計算好節點Good node的數目_Leetcode 1448_Leetcode精選75題


Path Sum III

DFS+模擬: 組合之和 III Combination Sum III_Leetcode #216 精選75題


Longest ZigZag Path in a Binary Tree

之字形走法的最大長度 Longest ZigZag Path_Leetcode #1372_精選75


Lowest Common Ancestor of a Binary Tree

圖論經典: 二元樹中的最接近公共祖先節點 LCA of a Binary_Leetcode #236 精選75題


Keys and Rooms

一題多解 能打開所有房間的門嗎? Keys and Rooms_Leetcode #841 精選75題


Number of Provinces

經典圖論應用: 省分的總數目 Number of Provinces_Leetcode #547_精選75題


Reorder Routes to Make All Paths Lead to the City Zero

圖論應用: 改變邊的方向,讓所有路徑都指向同一個城市_Leetcode #1466_Leetcode 75精選


Evaluate Division

圖論進階應用 計算除法的值 Evaluate Division_Leetcode #399 精選75題


回溯法(Backtracking)類題目

核心知識點(考點) 枚舉所有可能情況,進行展開、檢查、計算。


Letter Combinations of a Phone Number

DFS模擬 撥號鍵盤上的英文子母組合Letter Comb of Phone Num Leetcode #17 精選75


Combination Sum III

DFS+模擬: 組合之和 III Combination Sum III_Leetcode #216 精選75題


廣度優先搜索 (BFS)類題目


核心知識點(考點)
圖、樹、串列中的廣度優先搜索、等權(或無權)圖的最短(或最佳)路徑、由近而遠探索整張圖。


圖論應用配合BFS演算法框架

合縱連橫: 從 圖論的應用題 理解BFS背後的本質橫:


Binary Tree Right Side View

一題多解 二元樹的右側視角Binary Tree Right Side View_Leetcode #199_精選75題


Maximum Level Sum of a Binary Tree

一題多解: 二元樹裡,最大Level sum是在哪一層? Leetcdoe #1161


Nearest Exit from Entrance in Maze

圖論:最接近的迷宮出口 Nearest Exit from Entrance in Maze_Leetcode 1926


Rotting Oranges

圖論應用: 壞掉的橘子 Rotting Oranges_Leetcode #994_精選75題



二元搜索樹(Binary Search Tree, BST)類題目


二元搜尋樹BST的定義與演算法框架複習

合縱連橫: 從定義出發,理解 二元搜尋樹 背後的本質


Search in a Binary Search Tree

資料結構經典 在二元搜尋樹BST中搜索目標值_Leetcode #700_Leetcode精選75題


Delete Node in a BST

圖論進階題: 在二元搜索樹BST中刪除節點_Leetcode #450_Leetcode 精選75題


二元搜索演算法(Binary Search)類題目


核心知識點(考點)

​在已經排序的輸入中尋找特定元素,

在遞增或遞減(相當於已排序)的序列中進行最佳化。


Guess Number Higher or Lower

遊戲模擬+二分搜尋法: 猜數字Guess Number_Leetcode #374 精選75題


Successful Pairs of Spells and Potions

咒語和藥水的成功配對數 Successful Pairs of Spells&Potions_LC 2300 精選75題


Find Peak Element

一魚多吃 用 二分搜尋 來尋找相對最大值 Find Peak Element Leetcode #162_精選75題解


Koko Eating Bananas

二分搜尋: Koko吃香蕉 Koko Eating Bananas_Leetcode #875 精選75題



堆積(Heap)、優先權佇列 (PriorityQueue) 類題目


核心知識點(考點)

第k小或第k大的元素

前k小或前k大最佳的組合


Kth Largest Element in an Array

隨機快速選擇: 陣列中第k大的元素 Kth Largest Element in Array_Leetcode #215


Smallest Number in Infinite Set

系統設計: 動態取出數據流的最小值 Leetcode #2336_Leetcode 精選75題解析


Maximum Subsequence Score

最大化子序列的分數 Maximum Subsequence Score_Leetcode #2542 精選75題


Total Cost to Hire K Workers

最小堆應用: 雇用k名員工的最小成本 Total Cost to Hire K Workers #2462 精選75題



動態規劃 DP (Dynamic Programming)類題目

核心知識點(考點)

熟悉DP演算法框架,
了解如何定義DP狀態、推導DP狀態轉移關係式、釐清DP遞迴初始條件(終止條件)


移動路徑 配合 DP框架

合縱連橫: 從 移動路徑 理解 格子點DP 框架的本質。


路徑和 配合 DFS + 樹形DP框架

合縱連橫: 從路徑和 理解 DFS+樹型DP 框架的本質。


遞迴數列 配合 DP框架

合縱連橫: 從 數列DP 理解 遞迴數列的本質


經典House Robbery系列題 配合DP框架

合縱連橫: 從區間DP理解House Robbery系列題 背後的本質


經典最佳股票買賣Best time to buy and sell stock系列題 配合DP框架

合縱連橫: 從DP框架理解 最佳股票買賣系列題 的背後本質


N-th Tribonacci Number

活用DP: 泰伯納西數列的第n項 Leetcode #1137_精選75題


Min Cost Climbing Stairs

一魚多吃 用費式數列的模型來解 Min Cost Climbing Stairs_Leetcode #746_精選75題


House Robber

一魚多吃 用DP解House Robbery 打家劫舍問題_Leetcode #198_Leetcode 精選75題解析


Domino and Tromino Tiling

一魚多吃 用DP解 骨牌拼接 Domino and Tromino Tiling_Leetcode 790 精選75題


Unique Paths

DP動態規劃 深入淺出 以Unique Path 路徑總數 為例_精選75題


Longest Common Subsequence

DP經典應用: 找出 最長共同子序列的長度 LCS_Leetcode #1143_Leetcode 精選75題解析


Best Time to Buy and Sell Stock with Transaction Fee

模擬:有交易成本的最佳股票買賣 Best Time to Buy&Sell Stock_Leetcode714 精選75


Edit Distance

一魚多吃 用DP解 編輯距離 Edit Distance_Leetcode #72 精選75題



二進位操作 (Bit Manipulation)類題目


核心知識點(考點)

了解基本二進位操作子特性(AND, NAND, OR, NOR, XOR...等),
與二進位表達式的意義


二進位操作應用與二進位DP框架

合縱連橫: 從 二進位DP框架 來看整數有幾個bit1


Counting Bits

一魚多吃 用DP來數有幾個bit 1_Counting Bits Leetcode #338 精選75題


Single Number

二進位操作 尋找落單的數字 Single Number Leetcode #136 精選75題


Minimum Flips to Make a OR b Equal to c

二進位操作: 最少的bit翻轉次數 讓A OR B = C_Leetcode #1318 精選75題



前綴樹 (Trie)類題目


核心知識點(考點)

了解如何建構前綴樹,以及對應的新增、修改、查詢、刪除的操作


Implement Trie (Prefix Tree)

資料結構實作: Implement Trie 前綴樹Leetcode #208_精選75題


Search Suggestions System

系統實作題: 搜尋建議系統 Search Suggestions System_Leetcode 1268_精選75題



區間 (Interval)類題目


核心知識點(考點)

了解區間如何表達,以及對應的區間新增、合併、查詢操作。


Non-overlapping Intervals

排序應用題: 不重複的區間 Non-overlapping Intervals_Leetcode #435_精選75題


Minimum Number of Arrows to Burst Balloons

用最少的弓箭射穿所有氣球 Min of Arrow to Burst Balloon_Leetcode #452精選75

avatar-img
88會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
本文章複習了滑動窗口Sliding window的框架, 並且使用滑動窗口來解修改後,最長相等子字串的長度。 給定兩個字串s和t,還有對應的預算上限cost。 每修改一個字元就要付出對應的ASCII Code距離成本。 請問修改後s 和 t 最長的相等子字串長度是多少?
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
知道如何從一組給定的英文字母和單字庫中的單字拼出最高分的單字組合。使用DFS + 回溯法 + 剪枝優化的演算法,詳細分析瞭如何展開所有可能的路徑,並且找出符合條件的狀態,協助讀者理解演算法背後的思維和方法。
本篇文章介紹了區間DP及博弈論Min/Max最佳化的相關概念,以及如何應用這些概念來計算最佳策略進行取石頭遊戲的模擬。文章實際分析了演算法、實用的加速技巧和關鍵知識點。這篇文章對於想要學習區間DP的讀者來說非常有價值。
子集合生成是一道經典的組合類上機考和面試題目。本篇文章介紹多個不同的解決方案,以及相關演算法框架。主要目標是給定n個相異的元素,產生所有的子集合。
這篇文章,會帶大家快速回顧DFS+回溯法框架(還沒看過或想複習的可以點連結進去)。 用DFS+回溯法框架,解開 直線排列Permutations 的全系列題目。 幫助讀者鞏固DFS+回溯法框架這個重要的知識點。 回顧 DFS+回溯法框架 白話的意思 # 列舉所有可能的情況,遞迴展開所有分
本文章複習了滑動窗口Sliding window的框架, 並且使用滑動窗口來解修改後,最長相等子字串的長度。 給定兩個字串s和t,還有對應的預算上限cost。 每修改一個字元就要付出對應的ASCII Code距離成本。 請問修改後s 和 t 最長的相等子字串長度是多少?
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
知道如何從一組給定的英文字母和單字庫中的單字拼出最高分的單字組合。使用DFS + 回溯法 + 剪枝優化的演算法,詳細分析瞭如何展開所有可能的路徑,並且找出符合條件的狀態,協助讀者理解演算法背後的思維和方法。
本篇文章介紹了區間DP及博弈論Min/Max最佳化的相關概念,以及如何應用這些概念來計算最佳策略進行取石頭遊戲的模擬。文章實際分析了演算法、實用的加速技巧和關鍵知識點。這篇文章對於想要學習區間DP的讀者來說非常有價值。
子集合生成是一道經典的組合類上機考和面試題目。本篇文章介紹多個不同的解決方案,以及相關演算法框架。主要目標是給定n個相異的元素,產生所有的子集合。
這篇文章,會帶大家快速回顧DFS+回溯法框架(還沒看過或想複習的可以點連結進去)。 用DFS+回溯法框架,解開 直線排列Permutations 的全系列題目。 幫助讀者鞏固DFS+回溯法框架這個重要的知識點。 回顧 DFS+回溯法框架 白話的意思 # 列舉所有可能的情況,遞迴展開所有分
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
參加Leetcode的30 Days of Pandas挑戰,除了是學習的機會,更是練習熟悉pandas功能的機會。文章分享了挑戰簡介、題目描述、關鍵技術以及參加挑戰的心得。適合新手學習pandas,也可提升熟練度。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
參加Leetcode的30 Days of Pandas挑戰,除了是學習的機會,更是練習熟悉pandas功能的機會。文章分享了挑戰簡介、題目描述、關鍵技術以及參加挑戰的心得。適合新手學習pandas,也可提升熟練度。