LeetCode 275 H-Index II:有序引用陣列的二分查找優化
題目描述 給定**已按升序排列**的引用次數陣列 citations,計算 H 指數:至少有 h 篇論文引用數 ≥ h。優化至 O(log n)。 觀察 陣列
LeetCode 95 Unique Binary Search Trees II:生成所有結構不同的 BST
題目描述 給定 1..n,生成所有由這 n 個節點構成的、結構不同的二叉搜索樹,返回根節點列表。 範例 n = 3 輸出 5 棵樹: 1
LeetCode 137 Single Number II:其餘元素出現三次,位計數器法找出單一數字
題目描述 陣列中只有一個元素出現一次,其餘皆出現三次。找出該元素。要求線性時間、常數空間。 位計數器思路 對每個 bit 位(0~31),統計所有數字該位為
LeetCode 136 Single Number:位運算 XOR 找出唯一出現一次的數字
題目描述 給定整數陣列,除一個元素外其餘皆出現兩次。找出那個只出現一次的元素。要求線性時間、不使用額外空間。 核心洞察:XOR 性質 a ^ a = 0 a
LeetCode 322 Coin Change 零錢兌換:動態規劃與 DFS 剪枝優化
題目描述 給定不同面額硬幣 coins 及總金額 amount,求湊成總額所需最少硬幣數。無解返回 -1。每種硬幣無限供應。 範例 coins = [1,2,
Effective C++ Item 47:Traits 技法實現編譯期型別特性查詢
什麼是 Traits Traits 是一種編程慣例,利用模板與特化在**編譯期**提供型別相關資訊(如迭代器類別、大小、是否為 POD 等),支援泛型程式設計中
OpenCV 實作 PS 濾鏡:Spherize 球面化(凸出效果)
效果預覽 演算法原理 將圖像像素從平面座標映射到球面座標,產生凸出的球面視覺效果。核心數學: 以圖像中心為球心,半徑 R = min(寬, 高)/2。
C++ Primer 學習筆記 48:STL 剖析(三)—— 迭代器類型、容器常用成員與失效問題
一、迭代器:泛型指標 重載 *, , ++, -- 等運算子。 普通指標指向記憶體位址;迭代器指向容器內位置。 每個容器定義專屬迭代器類型,演算法透過統一介面
LeetCode 268 Missing Number:等差數列求和與位運算兩種解法
題目描述 給定包含 n 個不同數字的陣列 nums,取自 [0, 1, ..., n],找出缺失的那一個數。要求線性時間、常數額外空間。 範例 Input:
Effective C++ Item 49:new-handler 行為詳解與類別專屬錯誤處理
new-handler 基本機制 當 operator new 分配記憶體失敗時,會拋出 bad_alloc 異常,**在此之前**會反覆呼叫由 std::se
HDU 2335 Containers:暴力枚舉尋找最小面積場地
問題描述 n 個 40×8 的箱子,需建矩形場地存放。箱子間有固定間隙,最多堆 5 層。求場地最小面積,面積相同時盡量接近正方形(長寬差最小)。 關鍵觀察
C++ Primer 學習筆記 44:模板(二)—— 類模板與非型別模板參數
一、類模板 定義語法 template class ClassName { // 成員宣告 T data; public: void
C++ Primer 學習筆記 47:STL 剖析(二)—— vector 源碼與記憶體配置器 Allocator
一、vector 初始化流程追蹤 vector _Vector_val() // 3. _Myfirst = _Mylast = _Myend = nullpt
BZOJ 3688 折線統計:樹狀數組優化動態規劃
問題描述 平面上 n 個點 (xi, yi),座標值在 [1, 100000],無相同 x 或 y。選若干點構成集合 S,按 x 排序連成折線,統計連續上升/下
C++ Primer 學習筆記 46:STL 剖析(一)—— 泛型程式設計、STL 六大組件與關係
一、泛型程式設計 核心思想:相同邏輯/演算法處理不同資料型別。 將演算法從資料結構抽象出來,實現通用化。 C++ 模板為泛型程式設計奠定語言基礎。 二、什
BZOJ 1218 [HNOI2003] 激光炸彈:二維前綴和暴力枚舉優化
問題描述 地圖上有 N ≤ 10000 個目標,座標 (Xi, Yi) ∈ [0, 5000],每個目標有價值。激光炸彈摧毀邊長為 R、邊平行座標軸的正方形內目
LeetCode 290 Word Pattern 單詞模式:雙向映射與字串分割解法
題目描述 給定一個模式字串 pattern(僅含小寫字母)和一個字串 str(單詞以單一空格分隔),判斷 str 是否遵循相同模式。這裡的「遵循」意味著雙向一一
C/C++ 設計模式全景筆記:從備忘錄到組合模式的 23 種經典實作
前言 本文整理了《C/C++ 學院》課程中的設計模式實作筆記,涵蓋 GoF 23 種經典模式的 C++ 完整代碼示例。每個模式包含核心結構、應用場景比喻、關鍵代