LeetCode 119. 楊輝三角 II:O(k) 空間滾動數組獲取第 k 行
題目描述 給定索引 k(從 0 開始),返回楊輝三角的第 k 行。要求只使用 O(k) 額外空間。 範例: k = 3 → [1, 3, 3, 1] 解法:原
LeetCode 9. 回文數:不轉字串的數學解法與遞歸技巧
題目描述 判斷一個整數是否為回文數。不允許使用額外空間(如轉字串)。負數直接返回 false。反轉整數可能溢出,需巧妙處理。 解法一:首尾數字比對法(數學推導
LeetCode 125. 驗證回文串:雙指針與預處理兩種解法詳解
題目描述 給定一個字串,判斷它是否為回文串。只考慮字母數字字符,並忽略大小寫差異。空字串視為有效回文。 範例: A man, a plan, a canal:
LeetCode strStr() 實現:暴力匹配與 KMP 算法深度解析
問題描述 實現 strStr() 函數:在 haystack 中尋找 needle 首次出現的位置,若不存在返回 NULL。這是 LeetCode 第 28 題
HDU 1754 線段樹區間查詢與單點更新完整解析
題目背景 HDU 1754 I Hate It 要求維護一個數列,支持兩種操作: 查詢 Q a b:輸出區間 [a, b] 的最大值。 更新 U a v:將第
HDOJ 4529 - N騎士問題:狀態壓縮 DP 與極致剪枝通關指南
問題描述 在 8×8 棋盤上放置 N 個騎士 (馬),騎士不互相攻擊 (即任意兩騎士不構成「日」字走法)。棋盤某些格子禁止放置 (輸入 `*` 標記)。求合法放
MFC 應用程序單實例運行實現:Mutex 與 FindWindow 兩大方案深度對比
背景需求 某些應用 (如 Outlook) 要求全系統僅運行單個實例。嘗試再次啟動時,應激活現有窗口而非創建新進程。MFC 中主要有兩種實現方案:內核互斥量 與
UVA 10600 - ACM Contest and Blackout:次小生成樹完整解析與 C++ 實現
問題描述 給定無向連通圖,求最小生成樹 (MST) 權值與**次小生成樹** (Second Best MST) 權值。次小生成樹定義:權值嚴格大於 MST 的
不使用位運算獲取 int 第 9 位:聯合體檢測端序法
題目要求 實現函數 int get9thBit(int val),返回 val 的第 9 位 (從第 1 位開始計數,即二進制權值 2⁸ 的位),禁止使用任何位
遞歸生成不重複排列:處理重複元素的全排列算法詳解
問題描述 輸入 n 個整數 (可能包含重複值),輸出由這些數構成的所有不重複全排列。 示例: 輸入: 3 / 1 1 2 輸出: 1 1 2 1 2 1 2
C/C++ #pragma push_macro / pop_macro 宏保護機制詳解
語法與作用 #pragma push_macro(macro_name) // 將宏定義壓入編譯器內部棧 #undef macro_name
HDU 1250:字典樹實現與內存釋放規範
問題描述 給定一批單詞(僅含小寫字母,長度 ≤ 10),構建字典樹。隨後對查詢單詞,輸出其在字典中作為前綴出現的次數。空行分隔輸入與查詢階段。 樣例 輸入:
遞歸生成全排列(不重復元素)經典算法詳解
問題定義 給定 n 個互不相同的元素,輸出所有長度為 n 的排列(全排列),共 n! 種。每個元素在每個排列中恰好出現一次。 樣例 輸入: 3 1 2 3 輸