LeetCode Insert Interval:有序區間插入合併 O(n) 單次掃描
題目:向已排序無重疊區間集合插入新區間並合併 輸入區間按 start 升序且無重疊。新區間可能與多個現有區間重疊。 核心思路:三段式構建結果 左側無重疊區間
LeetCode 217 存在重複元素:排序、哈希表、計數排序多解對比
題目:判斷陣列是否含重複元素 方法一:排序後相鄰比較 bool containsDuplicate(vector& nums) { sort(num
LeetCode 141 環形鏈表判斷:快慢指針 O(1) 空間解法
題目:判斷單鏈表是否有環,要求 O(1) 空間 Floyd 判圈算法 (快慢指針) slow 每次移動 1 步 fast 每次移動 2 步 若有環,快指針必
LeetCode Integer to English Words:分段轉換與邊界處理
題目:非負整數 (≤ 2³¹-1) 轉英文單詞 規律:每 3 位一組 (千、百萬、十億),組內轉換邏輯相同。 核心思路:分組 + 組內轉換 預定義字串表:0
POJ 3233 矩陣冪級數和:構造增廣矩陣快速冪求解
題目:求 S[k] = A + A² + ... + Aᵏ (模 m) 直接疊加 O(k n³) 不可行。構造 2n × 2n 增廣矩陣轉為矩陣冪問題。 增廣
LeetCode 191 位 1 的個數:Brian Kernighan 算法 O(k) 解法
題目:統計無符號 32 位整數二進制中 1 的個數 (Hamming Weight) 核心算法:n & (n-1) 消除最低位 1 n - 1 會將 n 最低
C++11 chrono 庫完整指南:時間點、時長、時鐘與實戰應用
chrono 三大核心概念 Duration (時長):表示時間跨度 (如 1分鐘、10毫秒)。模板 duration。 Time Point (時間點):相
LeetCode 235 二叉搜索樹最近公共祖先:遞歸與迭代雙解法
題目:BST 中找兩節點最近公共祖先 (LCA) 利用 BST 性質:左子樹 < 根 < 右子樹。LCA 為首個使兩節點分居兩側 (或一個等於該節點) 的節點。
純 C++ 手寫圖像處理軟體 MagicHouse:無外部依賴的 BMP/JPG 編解碼與算法實現
專案簡介 MagicHouse 是一款完全自主實現的圖像處理軟體,零外部庫依賴 (無 OpenCV、無 libjpeg、無 Qt)。核心功能: 格式支援:BM
Windows/Linux 文件所有者獲取 API 與命令總結
Windows 平台 方法一:GetNamedSecurityInfo (推薦,支援遠程) // 1. 獲取安全描述符 PSECURITY_DESCRIPTO
C++ TRUE/true、FALSE/false、DWORD/HWND 類型差異詳解
1. TRUE vs true 項目trueTRUE 類型bool (1 byte)int (4 bytes, typedef int BOOL) 值true
堆與棧的區別深度解析:記憶體分配、管理與效能對比
程式記憶體五大區域 棧區:編譯器自動管理,存區域變數、參數、返回地址。向低位址增長,連續空間,大小固定 (Win 1-2MB)。 堆區:程式員手動管理 (ne
大型局部陣列導致棧溢位:解決方案與記憶體模型解析
現象:int a[1000][1000] 在函式內導致程式崩潰 1000*1000*4bytes = 4MB,超過典型棧大小限制 (Windows 預設 1MB
LeetCode 34 在排序陣列中查找元素首尾位置:二分查找降界法
題目:O(log n) 找目標值起始與結束索引 已排序陣列可能含重複元素,找 target 第一次與最後一次出現位置。不存在返回 [-1,-1]。 核心技巧:
LeetCode Bulb Switcher:數學規律與 O(1) 解法
題目:n 輪切換燈泡,求最終亮著的數量 n 個燈泡初始關閉。第 i 輪切換所有 i 的倍數編號燈泡。求 n 輪後亮著的燈泡數。 規律分析 燈泡 k 被切換次數
BZOJ 4394 [Usaco2015 Dec] Bessie 迷宮:狀態 BFS 最短路徑
題目:帶狀態的迷宮最短路徑 N,M ≤ 1000 網格。顏色規則: 0 紅:不可通行 1 粉:普通 2 橙:獲得橘子氣味 3 藍:需有氣味才能通行 4 紫:滑
LeetCode N-Queens:基於位掩碼的高效回溯解法
N 皇後問題:Python 位運算優化回溯 在 N×N 棋盤放置 N 個皇後,使其不互相攻擊。輸出所有解的棋盤字串表示。 狀態表示:三個布林陣列 col[n