LeetCode 53 Maximum Subarray:動態規劃 O(n) 最大子數組和
題目回顧 找出數組中連續子數組的最大和(至少一個元素)。 例:[-2,1,-3,4,-1,2,1,-5,4] → [4,-1,2,1] 和 = 6 Kadan
POJ 3630 Phone List:Trie 判斷電話號碼表一致性
題目大意 給定 n (≤ 10000) 個電話號碼(≤ 10 位數字),判斷是否存在某號碼是另一號碼的前綴。存在輸出 NO,否則 YES。 Trie 樹解法
POJ 2752 Seek the Name, Seek the Fame:KMP 前綴函數求邊界長度
題目大意 給定字符串 S(父親名+母親名拼接),求所有**既是前綴又是後綴**的子串長度,按遞增輸出。 多測試用例,|S| ≤ 400,000,僅小寫字母。
POJ 2001 Shortest Prefixes:Trie 樹求最短唯一前綴
題目大意 給定 2~1000 個單詞(長度 1-20),對每個單詞找最短前綴,使其在所有單詞中唯一標識該詞。完全匹配優先於前綴匹配(如 car 精確匹配 car
LeetCode 237 Delete Node in a Linked List:只給節點指針刪除節點
題目回顧 給定單鏈表中非尾節點的指針,刪除該節點。無法訪問頭節點。 例:1→2→3→4,給節點 3,刪除後 1→2→4 核心技巧:值拷貝 + 刪除下一個 因無
LeetCode Search Insert Position:標準 lower_bound 二分模板
題目回顧 同 LeetCode 2907,此處強調標準模板與邊界自動處理。 標準模板(左閉右開) int searchInsert(vector& nums,
LeetCode First Bad Version:二分查找首個壞版本防溢出
題目回顧 版本 1...n,某版本引入 Bug 後所有後續版本均壞。調用 API isBadVersion(version) 判斷。找首個壞版本,最小化 API
LeetCode Search for a Range:遞歸二分查找左/右邊界
題目回顧 同 LeetCode 2906,此處提供遞歸版二分實現。 遞歸二分模板 int searchRangeIndex(vector& nums, int
LeetCode Remove Element:雙指針原地移除指定值
題目回顧 移除數組中所有等於 val 的元素,返回新長度。順序可變,超出新長度部分忽略。 例:[1,2,3,4,3,2,1], val=1 → 長度 5 雙指
LeetCode Reverse Nodes in k-Group:鏈表每 k 個一組翻轉
題目回顧 單鏈表每 k 個節點一組翻轉,不足 k 保持原序。要求 O(1) 空間,不可修改節點值。 例:1→2→3→4→5, k=2 → 2→1→4→3→5
LeetCode Same Tree:遞歸判斷兩棵二叉樹完全相同
題目回顧 判斷兩棵二叉樹是否相同:結構相同且對應節點值相同。 遞歸解法 right); } }; 迭代法(BFS/DFS) bool isSameT
PAT 1071 Speech Patterns:單詞頻統計找最高頻詞(忽略大小寫)
題目大意 輸入一行文本(≤ 1048576 字符),統計「單詞」出現次數。單詞定義:字母數字序列([0-9A-Za-z]),非字母數字分隔。忽略大小寫。輸出最高
C++14 內存分配性能重大優化:標準措辭變更引入類 TCMalloc 行為
背景 C++14 標準修改了內存分配相關措辭,允許編譯器實現類似 TCMalloc 的優化策略,不再拘泥於「每個 new 必須調用一次分配函數」的死板要求。
C++14 新特性:二進制字面量 (Binary Literals)
特性簡介 C++14 引入 0b 或 0B 前綴表示二進制字面常量,稱為 binary literals。 代碼示例 void WriteBinaryLite
PAT 1068 Find More Coins:01 背包記錄路徑輸出最小字典序解
題目大意 給定 N (≤ 10⁴) 枚硬幣面值和目標金額 M (≤ 10²),選若干硬幣(每枚最多用一次)湊成 M。若多解,輸出字典序最小的面值序列(非遞減序)
Python collections.deque 完全指南:雙端隊列操作大全
deque 簡介 collections.deque:雙端隊列,支援兩端 O(1) 插入/刪除,線程安全,適合追蹤最近活動(如日誌、滑動窗口)。 創建與基本屬
C++ 智能指針 unique_ptr 實戰:get() 陷阱與所有權轉移
背景 unique_ptr 獨佔所有權,禁止拷貝,支援移動。get() 返回裸指針不轉移所有權,易導致懸空指針。 正確用法示例 unique_ptr w =
LeetCode Longest Valid Parentheses:動態規劃 O(n) 解法詳解
題目回顧 給定只含 ( 和 ) 的字符串,找最長合法括號子串長度。 例:(() → 2;)()()) → 4 DP 狀態定義 dp[i]:以 i 結尾的最長合