LeetCode 138 複製帶隨機指針的鏈表:哈希表與 O(1) 空間解法
LeetCode 138:複製帶隨機指針的鏈表 題目描述 給定鏈表,每個節點除 next 外還有 random 指針(可指向任意節點或 null)。要求深拷貝。
HDU 1159 Common Subsequence:經典 LCS 動態規劃
HDU 1159 Common Subsequence 題目描述 求兩字符串的最長公共子序列(LCS)長度。多組測試數據,以 EOF 結束。 DP 狀態定義 d
LeetCode 100 相同的樹:遞歸與迭代判斷
LeetCode 100:相同的樹 題目描述 給定兩棵二叉樹,判斷它們是否完全相同(結構相同且節點值相同)。 遞歸解法 right); } }; 迭代解
LeetCode 88 合併兩個有序數組:原地合併技巧
LeetCode 88:合併兩個有序數組 題目描述 給定兩個有序數組 nums1(長度 m+n,前 m 個有效)和 nums2(長度 n),將 nums2 合併
POJ 1325:二分圖最小點覆蓋 = 最大匹配
POJ 1325:二分圖匹配應用 題目大意 兩台機器分別有 n、m 種模式(0 為初始模式)。k 個任務,每個任務可由機器 1 的模式 x 或機器 2 的模式
單例模式詳解:餓漢式 vs 懶漢式(Java實現)
單例模式詳解:餓漢式 vs 懶漢式 單例模式特點 確保一個類在內存中只有一個實例,並提供全局訪問點。 實現三步驟 私有化構造方法 在類內部創建自己的實例 提供
位運算技巧:找出數組中出現一次的數字(單個/兩個)
位運算技巧:找出數組中出現一次的數字 問題一:只有一個數字出現一次,其餘出現兩次 利用異或性質:a ^ a = 0,a ^ 0 = a。將所有數異或,成對抵消,
POJ 2576 Tug of War:01背包變體求最接近平分
POJ 2576 Tug of War 題目大意 有 n 個人,每人重量 w[i]。分成兩隊拔河,人數差 ≤ 1,使兩隊總重量差最小。輸出兩隊重量(小在前)。
NYOJ 33 蛇形填數:螺旋矩陣生成算法
NYOJ 33 蛇形填數(蛇形矩陣) 題目分析 輸入 n,輸出 n×n 矩陣,數字 1~n² 按順時針螺旋從外向內填充。例如 n=3: 7 8 1 6 9 2
ACdream 1414 Geometry Problem:圓與線段相交幾何題
ACdream 1414 Geometry Problem 題目大意 給定兩條線段,求一個圓,使其與每條線段的內部恰好有一個交點(端點相切或穿過端點不算)。輸出
POJ 1523 SPF:割點與點雙連通分量應用
POJ 1523 SPF:割點與點雙連通分量 題目大意 給定無向圖,求刪除某個頂點後圖分裂成多少個連通分量。即求每個頂點作為割點時,能將圖分成幾塊。 核心理論
HDU 1205 吃糖果:鴿巢原理判斷能否吃完所有糖果
HDU 1205 吃糖果 題目大意 有 N 種糖果,第 i 種有 m_i 塊。Gardon 吃糖果時不喜歡連續吃同一種,即相鄰兩塊不能同種。問是否存在一種吃法能
POJ 2456 Aggressive Cows:二分答案求最大最小距離
POJ 2456 Aggressive Cows 題目大意 有 N 個牛棚分佈在一條直線上,每個牛棚有座標。現有 C 頭牛,需安排在牛棚中,使得相鄰兩頭牛之間距
FZU 1893 內存管理模擬:最佳適配算法實現
FZU 1893 內存管理模擬 Time Limit: 1000MS Memory Limit: 32768KB 問題描述 模擬作業系統動態內存分配管理。內存
LeetCode 104:二叉樹的最大深度 - 遞歸與迭代解法
LeetCode 104:二叉樹的最大深度 題目描述 給定一棵二叉樹,找出其最大深度。最大深度是指從根節點到最遠葉子節點的最長路徑上的節點數。 解題思路 這道題
C/C++ 源代碼編寫規範:從文件頭到縮進的完整指南
C/C++ 源代碼編寫規範完整指南 統一的代碼風格能顯著提升團隊協作效率、降低維護成本。本文梳理涵蓋文件頭註釋、函數註釋、行長控制、控制結構、指針聲明、大括號風