HDU 1753 大明 A+B:Java BigDecimal 高精度加法輸出最簡形式
題目描述 多組測試數據,每行兩個長度 ≤ 400 的正小數 A、B,輸出 A+B 的最簡形式(去除尾隨 0)。 範例: 1.1 2.9 → 4 1.111111
HDU 1513 / POJ 1159 Palindrome:用最長公共子序列(LCS)解決補全回文串問題
問題描述 給定一個長度為 N(3 ≤ N ≤ 5000)的字串,該字串由大小寫英文字母與數字組成(區分大小寫)。請計算最少需要插入多少個字元,才能使該字串變成一
C++ 慣用法:Attorney-Client(律師-委托人)模式實現精細訪問控制
問題背景:friend 的全有或全無 C++ friend 聲明會暴露類的所有私有成員,破壞封裝性。若類 Bar 僅需訪問 Foo::A 和 Foo::B,卻被
LeetCode 24. 兩兩交換鏈表節點:指針操作圖解與遞歸/迭代雙解法
題目描述 給定單鏈表,每兩個相鄰節點交換位置,返回新頭節點。 範例:1→2→3→4 → 2→1→4→3。 要求:O(1) 額外空間,只能修改節點指針,不能修改節
LeetCode 18. 四數之和:排序 + 双層固定 + 雙指針 O(n³) 解法
題目描述 給定整數數組 nums 與目標值 target,找出所有不重複四元組 [a,b,c,d] 使 a+b+c+d=target。 要求:四元組內非遞減序,
LeetCode 111. 二叉樹最小深度:遞歸 DFS 邊界條件詳解
題目描述 給定二叉樹根節點,求其最小深度。 最小深度 = 從根節點到最近葉子節點的最短路徑上節點數。 注意:葉子節點定義為 左右子節點均為 null 的節點。
C3P0 連接池核心類結構深度解析:懶初始化、池管理器與資源池協作機制
前言 C3P0 是 Java 領域經典的 JDBC 連接池實現。理解其核心類職責與協作關係,有助於排查連接洩漏、超時、死鎖等生產問題。本文梳理 C3P0 0.9
LeetCode 15. 三數之和:排序 + 雙指針去重 O(n²) 完整解法
題目描述 給定整數數組 nums,找出所有不重複三元組 [a,b,c] 使 a+b+c=0。 要求:三元組內非遞減序(a ≤ b ≤ c),結果集無重複三元組。
LeetCode 104. 二叉樹最大深度:遞歸後序遍歷 O(n) 解法
題目描述 給定二叉樹根節點,求其最大深度。 最大深度 = 從根節點到最遠葉子節點的最長路徑上節點數。 空樹深度為 0。 算法思路:遞歸後序遍歷 對於任意節點:
LeetCode 17. 電話號碼字母組合:遞歸回溯與迭代 BFS 兩種解法
題目描述 給定數字字符串 digits (2-9),返回所有可能的字母組合。映射同電話鍵盤: 2:abc, 3:def, 4:ghi, 5:jkl, 6:mno
LeetCode 16. 最接近目標值的三數之和:排序 + 雙指針 O(n²) 解法
題目描述 給定整數數組 nums (長度 n) 與目標值 target,找出三個數使其和最接近 target。假設唯一解。返回該最接近的和。 範例:nums =
LeetCode 13. 羅馬數字轉整數:鄰位比較法與哈希表優化
題目描述 給定合法羅馬數字字符串(1~3999),轉換為整數。 核心規則:左小右大時減法(如 IV=4),否則加法(如 VI=6)。 初版嘗試:枚舉 + 字符
LeetCode 12. 整數轉羅馬數字:枚舉降序貪心法 C# 實現
題目描述 給定整數 num (1 ≤ num ≤ 3999),轉換為羅馬數字表示。 羅馬數字規則:I=1, V=5, X=10, L=50, C=100, D=
網絡編程系列(二):Socket 通信原理與 TCP 協議深度解析
前言 「一切皆 Socket」。瀏覽網頁、QQ 聊天、微服務調用,本質都是網絡中進程間的通信。本文系統梳理:進程標識、Socket 本質、核心 API、TCP
MFC 控件初始化時序陷阱:OnSize 中調用 SetWindowPos 觸發斷言的根因與修正
現象複現 在 `CDialog` 派生類中嵌入 ActiveX 控件(如 WebBrowser),於 `OnSize` 處理器中調整控件大小: void CNe
Qt 5 UI 開發實用技巧匯總:文本輸入、標籤、窗口控制、定時器與時間處理
前言 Qt 5 提供豐富的 UI 控件與視窗管理 API,但文檔龐大、細節易遺漏。本文彙整實戰中高頻使用的 10 大類技巧,涵蓋 QTextEdit/QLine
Windows 服務實時互動方案:基於 ATL COM 接口的進程間通信實戰
為什麼 Windows 服務需要互動? Windows 服務通常以無界面、非控制台模式在後台運行。當管理工具、監控面板或其他應用需要與服務即時交換資料、下發指令
代碼重構實戰:從 1500 行「屎山」到 700 行乾淨架構的心路歷程
前言:當代碼變成「屎山」 工作六個月,趕專案進度時腦子一熱就往類裡塞功能——想到什麼寫什麼,完全不考慮設計。等冷靜下來一看:頭文件兩三百行,函數命名 XXX1(