擴展歐幾裡得算法:求解線性同餘方程與模逆元
算法背景 擴展歐幾裡得算法(Extended Euclidean Algorithm)不僅能計算兩整數 a,b 的最大公約數 gcd(a,b),還能求出裴蜀定理
libgo 2.0 發布:C++ 協程庫實現 Go 風格並發編程
項目簡介 libgo 是一個基於 C++ 實現的棧全協程庫,採用協作式調度,同時提供強大的並行編程框架。設計初衷是為高併發分布式 Linux 服務端開發提供底層
LeetCode 存在重複元素 II:Java 滑動窗口集合 O(n) 解法
題目概述 給定整數數組 nums 和整數 k,判斷是否存在兩個不同索引 i,j 使得 nums[i]==nums[j] 且 |i-j| <= k。 核心思路:
LeetCode 單詞拆分:動態規劃判斷字符串能否由字典單詞組合
題目概述 給定字符串 s 和單詞字典 dict,判斷 s 是否可以被拆分為一個或多個字典中的單詞(空格分隔)。例如 s=leetcode, dict=[leet
LeetCode 90 子集 II:C++ 排序迭代去重生成所有子集
題目概述 給定可能含重複元素的整數數組 nums,返回其所有不重複的子集。子集內元素非降序,結果集無序要求。 核心思路:排序 + 迭代 + 索引控制去重 與無
LeetCode 260 單一數字 III:位運算分組找出兩個唯一數
題目概述 給定整數數組 nums,其中恰有兩個元素只出現一次,其餘元素均出現兩次。找出這兩個只出現一次的元素。要求線性時間、常數空間(不計輸出)。 範例 輸入
C++11 新特性:min/max 算法家族全解析(含 minmax、minmax_element)
引言 在容器或範圍內尋找最大/最小值是高頻需求。C++ 標準庫提供 <algorithm> 中的 min/max 等算法,C++11 進一步擴充了
LeetCode 子集 II:含重複元素集合的所有子集生成
題目概述 給定可能包含重複數字的整數數組 nums,返回其所有可能的子集(冪集)。解集不能包含重複的子集,每個子集內元素需非降序排列。 範例 輸入: [1,2
LeetCode 219 存在重複元素 II:哈希表滑動窗口判斷索引距離
題目概述 給定整數數組 nums 和整數 k,判斷是否存在兩個不同索引 i 和 j,使得 nums[i] == nums[j] 且 |i - j| <= k。
LeetCode 223 矩形面積:兩矩形並集面積計算公式推導
題目概述 給定二維平面上兩個矩形(各由左下角和右上角座標確定),求它們覆蓋的總面積。座標均為整數,總面積不超過 INT_MAX。 核心公式 總面積 = 面積1
LeetCode 58 最後一個單詞長度:C++ 標準庫一行解決
題目概述 給定一個由大小寫字母和空格組成的字符串,返回最後一個單詞的長度。單詞定義為非空格字符序列。若不存在單詞返回 0。例如 Hello World 返回 5
LeetCode 解碼方法:動態規劃從後向前巧解字符串解碼數
題目概述 給定一個只包含數字的字符串 s,按映射「1→A, 2→B, ..., 26→Z」進行解碼。求有多少種不同的解碼方式。若字符串無法合法解碼(如含「00」
C++ 探索之旅:第七課 函數——模塊化編程的基石
課程簡介 本課屬於「C++ 探索之旅」系列第一部分第七課,主題為「函數效應,分而治之」。前課已學習變量、控制流程(條件與循環),本課將引入幾乎所有編程語言的核心
LeetCode 計數質數:埃拉托斯特尼篩法深度解析與優化
題目概述 給定非負整數 n,統計小於 n 的質數個數。例如 n=10 時,質數有 2,3,5,7 共 4 個。 核心算法:埃拉托斯特尼篩法 暴力逐個判斷質數會
LeetCode 合併兩個有序數組:逆序雙指針原地合併
題目概述 給定兩個已排序的整數數組 nums1 和 nums2,將 nums2 合併到 nums1 中,使合併後的 nums1 仍為有序數組。已知 nums1
LeetCode 分隔鏈表:按目標值重組節點順序
題目概述 給定一個單鏈表的頭節點 head 和一個目標值 x,請將鏈表重新排列,使得所有值小於 x 的節點出現在值大於或等於 x 的節點之前。同時必須保持兩部分
LeetCode 格雷碼:生成二進制灰碼序列的高效解法
題目概述 格雷碼是一種二進制編碼系統,其中任意兩個相鄰的代碼僅有一位二進制數不同。給定一個非負整數 n,代表二進制碼的位數,要求生成包含 2^n 個整數的格雷碼
C++ 後端實戰:從 CGI 到 FastCGI 的 Web 開發演進指南
C++ Web 開發演進:CGI → FastCGI → 現代架構 動態語言普及前,C/C++ 透過 **CGI (Common Gateway Interfa