C/C++ 進階:命名空間、函數重載、默認參數、auto、new/delete 深度解析
命名空間 定義與嵌套 namespace A { int x = 10; namespace B { int y = 20; } // 嵌套
LeetCode 273 整數轉英文單詞:分塊處理與邊界情況
問題描述 將非負整數(< 2³¹)轉為英文表示。例如:123 → One Hundred Twenty Three,12345 → Twelve Thousan
LeetCode 11 盛最多水的容器:雙指針貪心證明與實現
問題描述 給定 n 根垂線 x=i 高度 height[i],找兩線與 x 軸構成容器盛最多水。面積 = min(h[l], h[r]) * (r-l)。 雙
CSAPP 章節 1 習題解析:位運算技巧與數字表示
習題 2.65:判斷 1 的個數奇偶性 函數 even_ones(unsigned x),返回 1 當 x 中 1 的個數為偶數,否則 0。禁用循環,用位運算並
快速排序完整實現指南:從基礎到泛型迭代器版本
核心分區邏輯 單向掃描分區:以首元素為基準 key,左右指針向中間掃描交換,最終 key 歸位,返回分區點索引。 int partition(vector& a
Vijos 1121 馬阻過河卒:動態規劃與騎士移動標記
問題描述 棋盤 (0,0) 到 (X,Y),卒只能向右/下移動。馬在位置 (x₂,y₂),馬能攻擊的 8 個位置(含馬位)不可通行。求從起點到終點的路徑數。
Vijos 1120 花生採摘:貪心策略與狀態排序
問題描述 N×M 田地,每株花生植株有坐標 (x,y) 和花生數 c。從 (0,0) 出發,移動耗時曼哈頓距離,採摘耗時 1,返回邊界耗時 y。總時間限制 T。
Effective C++ 條款 30:透徹理解 inline 函數的來龍去脈
inline 的誘惑與代價 inline 函數優點眾多:無宏缺陷(Item 2)、無調用開銷、利於編譯器上下文優化。但並非免費午餐: 代碼膨脹:多處展開增加目
POJ 2407 / UVA 10299 Relatives:歐拉函數 φ(n) 計算
問題描述 求 ≤ n 且與 n 互質的正整數個數,即歐拉函數 φ(n)。n ≤ 10⁹,多組輸入以 0 結束。注意 n=1 時 φ(1)=0(UVA 要求)。
LeetCode Count Digit One:數位 DP 思想統計數字 1 出現次數
問題描述 給定整數 n,統計 1 到 n 所有整數中數字 1 出現的總次數。例如 n=13,包含 1 的數:1,10,11,12,13 → 1 出現 6 次。
HDU 1573 X 問題:廣義中國剩餘定理 (EXCRT) 求解
問題描述 求 ≤ N 的正整數 X 滿足同餘系統:X ≡ b[i] (mod a[i]),其中 0 < a[i] ≤ 10,模數不一定兩兩互質。輸出滿足條件的
LeetCode Excel Sheet Column Number:26 進制列標題轉數字
問題描述 Excel 列標題採用 26 進制:A=1, B=2, ..., Z=26, AA=27, AB=28, ... 給定標題字符串,返回對應列號。 本
LeetCode Perfect Squares:完全平方數之和的 BFS 求解
問題描述 給定正整數 n,找到最少的完全平方數(1, 4, 9, 16...)之和等於 n。例如:12 = 4+4+4 返回 3;13 = 4+9 返回 2。
LeetCode Integer to Roman:阿拉伯數字轉羅馬數字
問題描述 將 1~3999 範圍內的整數轉換為羅馬數字表示。羅馬數字規則:I=1, V=5, X=10, L=50, C=100, D=500, M=1000;
LeetCode Reverse Integer:整數反轉的邊界處理
問題描述 給定 32 位有符號整數,將其數字反轉。若反轉後溢出(超出 [-2³¹, 2³¹-1]),返回 0。例如:123 → 321,-123 → -321,
HDU 1003 Max Sum:最大子段和問題的 DP 解法
問題描述 給定長度 N(≤100,000)的整數序列,元素值在 [-1000, 1000],求最大子段和及其起始、終止位置(1-based)。多組測試用例(T≤