LeetCode LRU Cache:手寫雙向鏈表 + HashMap 實現 O(1) 獲取與插入
問題分析 LRU (Least Recently Used) 緩存要求: get(key):O(1) 獲取值,並將 key 標記為最近使用 put(key,
C 語言 const 與指針完全指南:四種組合、多級指針、函數參數最佳實踐
四種基本組合 聲明指針可改指向值可改含義 int *p是是普通指針 const int *p / int const *p是否指向常量的指針 int *con
CPU 佔用率曲線控制器:Windows 任務管理器圖形編程實戰
項目目標 編寫程序控制 Windows 任務管理器中 CPU 佔用率曲線形狀: 固定 50% 直線 命令行參數指定百分比直線 正弦波動態曲線 核心原理 在
數學表達式解析小工具:遞歸下降解析器開源實現
工具特性 輸入數學表達式字符串,輸出計算結果。支持豐富運算符與函數,採用遞歸下降解析算法,效率優異。 支持的運算符與函數 1. 一元運算符 `+`, `-`
Qt 正則表達式完整指南:數據提取、文本替換、驗譹匹配實戰
Qt 正則核心類 QRegExp:Qt 4/5 傳統正則類,語法類似 Perl QRegularExpression:Qt 5+ 推薦,PCRE 引擎,功能更
C++ reverse_iterator::base() 深度解析:迭代器轉換的偏移陷阱
核心問題 reverse_iterator::base() 返回的**正向迭代器指向「反向迭代器當前元素的下一個位置」**。這一偏移導致插入/刪除操作必須區別對
C 語言接口與實現分離:模塊化設計實戰指南
核心理念 接口 (.h) 聲明「做什麼」,實現 (.c) 定義「怎麼做」。 客戶代碼只依賴接口,實現可替換、可複用、可獨立編譯測試。 標準模塊結構 1. 接
LeetCode Substring with Concatenation of All Words:滑動窗口優化解法詳解
問題描述 給定字符串 s 和單詞列表 words (所有單詞等長)。找出 s 中所有子串起始索引,該子串由 words 中每個單詞**恰好一次**、無間隔拼接而
C++ 靜態成員完整指南:靜態數據成員、靜態成員函數、初始化規則與常見錯誤
核心概念 靜態成員屬於類,不屬於某個對象。所有對象共享同一份靜態數據成員,靜態成員函數無 this 指針。 靜態數據成員 聲明與定義分離 (關鍵!) //
最短路徑算法接口設計:Java 實現有向加權圖與 SP 框架
問題領域建模 最短路徑問題核心要素: 頂點:標識符 (0~V-1) 有向邊:from、to、weight (double) 圖:鄰接表存儲,支持平行邊、自環
POJ 2553 The Bottom of a Graph:Tarjan 算法求強連通分量詳解
題目大意 給定有向圖,找出所有「底層」強連通分量 (SCC) 的頂點。底層 SCC 定義:該分量內無邊指向分量外部 (出度為 0)。輸出所有屬於底層 SCC 的
HDU 4418 Time Travel:高斯消元 + 概率 DP 期望求解
題目大意 N 個點環狀排列 (0~N-1)。從起點 st 出發,每步按概率 p[i] 選擇步長 i (1≤i≤m)。到達終點 ed 或其對稱點 n-ed 即結束
C++11 新特性深度解析(一):右值引用與移動語義
左值 vs 右值 概念左值右值 定義有名字、可取地址、持久對象無名字、不可取地址、臨時對象/字面值 例子變量 int a、函數返回引用字面值 10、a+b、f
Codeforces 8D Two Friends:三分+二分+計算幾何綜合解法
題目大意 三點:Cinema (C)、House (H)、Shop (S)。Alan 從 H 經 S 回 C,Bob 從 H 直接回 C。兩人可共同行走一段路徑
KD-Tree 原理詳解與 BZOJ 2648/2716/3053 實戰題解
KD-Tree 核心思想 KD-Tree (K-Dimensional Tree) 是對 K 維空間數據進行劃分的數據結構。構建過程: 選擇維度(輪換:x,
常見排序算法時間/空間複雜度深度分析與 C++ 實現對比
總覽表 算法平均時間最差時間最好時間空間穩定性備註 冒泡排序O(n²)O(n²)O(n)O(1)穩定教學用,實際不可用 快速排序O(n log n)O(n²)