LeetCode 筆記:Triangle 三角形最小路徑和動態規劃
題目描述 給定三角形數組,從頂部到底部相鄰路徑最小和。例: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 最小路徑:2→3→5→1
LeetCode 從零單刷:Set Matrix Zeroes 矩陣置零 O(1) 空間解法
題目描述 給定 m×n 矩陣,若元素為 0,將其所在行列全部置 0。要求原地修改,O(1) 額外空間。 三種空間複雜度方案對比 方案空間思路 暴力O(mn)
C++ 那些細節:函數指針、成員函數指針、回調機制完整詳解
一、普通函數指針 定義與 typedef 格式:返回類型 (*指針名)(參數列表)。用 typedef 簡化: typedef void (*pFunc)(
C++ 迷宮問題實現:棧模擬 DFS 求最短路徑
問題描述 10×10 迷宮,0 通路,1 牆壁。從入口 (2,0) 走到邊界任意出口。用棧實現 DFS 回溯,記錄所有路徑並找出最短路徑。 核心數據結構 P
LeetCode 筆記:House Robber 動態規劃另一視角
題目描述 同 3146:沿街房屋偷竊最大金額,相鄰不可同時偷。 一維 DP 狀態定義 maxV[i] 表示前 i 間房屋(0-based 到 i-1)的最大收
LeetCode 筆記:Maximum Subarray 最大子數組和(Kadane 算法)
題目描述 找出數組中和最大的連續子數組(至少含一個元素),返回其和。例:[-2,1,-3,4,-1,2,1,-5,4] → [4,-1,2,1] 和為 6。
LeetCode 從零單刷:Search in Rotated Sorted Array I & II 旋轉有序數組搜索
問題 I:無重複元素 有序數組旋轉後(如 [4,5,6,7,0,1,2]),搜索目標值,返回索引或 -1。要求 O(log n)。 核心觀察:二分查找 + 區
LeetCode 從零單刷:House Robber 打家劫舍動態規劃
題目描述 沿街房屋各存金額 nums[i],相鄰房屋有防盜系統連動,不能連續偷竊。求最大可偷金額。 動態規劃狀態定義 到第 i 間房屋,兩種狀態: sele
LeetCode 43 Multiply Strings:大數乘法模擬算法
題目描述 給定兩個非負整數字符串 num1、num2,返回它們乘積的字符串形式。不能使用內置大整數庫或直接轉換為整數。 核心算法:豎式乘法模擬 num1[i]
C++11 initializer_list:統一初始化列表完整指南
背景:從繁瑣到優雅 C++98 初始化容器需多次 push_back: std::vector<int> v; v.push_back(1);
LeetCode Ugly Number II:三指針動態生成第 n 個醜數
題目描述 求第 n 個醜數。醜數序列:1, 2, 3, 4, 5, 6, 8, 9, 10, 12...(質因數僅 2,3,5)。 核心洞察:合併三個有序序列
LeetCode Integer to English Words:非負整數轉英文單詞遞歸實現
題目描述 將非負整數(< 2³¹)轉為英文單詞表示。例如: 123 → One Hundred Twenty Three 12345 → Twelve Tho
LeetCode Ugly Number:醜數判定的簡單除法算法
題目描述 判斷給定數是否為醜數。醜數定義:質因數僅包含 2、3、5 的正整數。1 視為醜數。例如 6(2×3)、8(2³) 是醜數,14(2×7) 不是。 核
C++11 std::thread 進階:join/detach/joinable 與函數對象線程
join 與 detach 的關鍵區別 join():阻塞當前線程,等待子線程結束,回收資源 detach():分離線程,子線程獨立運行,資源由運行時自動回收
C++ 對稱矩陣壓縮存儲:僅存下三角/上三角實現
對稱矩陣特性 對稱矩陣滿足 A[i][j] == A[j][i]。只需存儲主對角線及一側三角區(下三角或上三角),空間從 n² 減為 n(n+1)/2。 壓縮
C 語言統計字符串:數字、空白字符、其他字符出現次數
題目要求 編寫程序統計輸入字符串中:各個數字(0-9)、空白字符、以及其他所有字符出現的次數。輸入用 getchar() 讀取,以 EOF 結束(Windows
LeetCode Word Pattern:單詞模式匹配的雙向映射解法
題目描述 給定模式串 pattern(僅小寫字母)和字符串 str(單詞以單空格分隔),判斷 str 是否遵循 pattern 的雙射關係:每個字母唯一對應一個