LeetCode 338. Counting Bits 比特位計數:O(n) 動態規劃最優解
題目描述 給定非負整數 num,對每個 0 ≤ i ≤ num 計算其二進制表示中 1 的個數,返回數組。要求 O(n) 時間、O(n) 空間,不使用內建函數
C++ Primer 第五版 第 3 章學習筆記:string、vector 與數組核心要點
核心知識點速查 1. string 類精華 初始化:string s(n, c) — n 個字符 c;string s = string(10, c
有向無環圖拓撲排序:Kahn 算法 C++ 完整實現與工程應用
前言 拓撲排序是對有向無環圖 (DAG) 頂點的線性排序,使得對於任意邊 u → v,u 在 v 之前。廣泛應用於任務調度、編譯依賴、課程先修等場景。本文提供基
LeetCode 15. 3Sum 三數之和:雙指針夾逼去重完整解法
題目描述 給定包含 n 個整數的數組 nums,找出所有不重複的三元組 [a, b, c],使得 a + b + c = 0。要求三元組內非遞減排序,解集不含重
面試必備:十大經典排序算法全景解析與 Java 實現
前言 排序算法是面試高頻考點,也是算法基石。本文系統梳理 10 大排序算法的核心思想、複雜度、穩定性、適用場景,並提供可直接運行的 Java 實現代碼,助你面試
BZOJ 4071 [Apio2015] 巴鄰旁之橋:中位數貪心與 Splay 維護動態中位數
題目大意 給定家與公司的位置,需選擇橋樑最小化總通勤距離。核心轉化:將不在同側的情況按區間中點排序,枚舉分割點,左側走左橋、右側走右橋,動態維護中位數計算最小距
C++11 右值引用與移動語義完全指南
前言 C++11 引入的右值引用與移動語義是現代 C++ 性能優化的核心特性。本文系統解析左值/右值區別、引用類型演進、移動語義實現機制,並通過 MyStrin
C/C++ 回調函數深度解析:從函數指針到實戰應用
前言 在 C/C++ 程式設計中,回調函數是一項核心且強大的技術,廣泛應用於事件驅動、信號處理、庫函數擴展等場景。要徹底理解回調函數,必須先掌握其基石——函數指
C++ 模板完整指南:從類模板、函數模板到特化、偏特化、成員模板與編譯模型
1. 類模板定義與實例化 語法基礎 template <class T, int Size = 100> // 類型參數 + 非類型參數(有默認值
Win7 64位系統安裝 Borland C++ 3.1 失敗全記錄:16位應用兼容性死結
嘗試背景 想在 Win7 64 位系統上安裝經典的 Borland C++ 3.1 (或 4.5) 用於開發無 GUI 的 C++ 類庫,記錄完整排查過程。
C++ Primer 第5版 第19章 練習題完整解析與代碼實現
19.1-19.2: 運算符 new/delete 重載與 StrVec 實現 19.1 全局 new/delete 重載追蹤 #include <io
STL 算法源碼級解析:集合算法篇 (set_union, intersection, difference, symmetric_difference)
集合算法前提條件 輸入區間必須已排序 (升序,由 operator 或自定義 Compare 定義) 允許重復元素 (視為多重集合) 輸出區間需足
STL 算法源碼級解析:基本算法篇 (equal, fill, copy, lexicographical_compare 等)
SGI STL 算法實現精華 本文解析 SGI STL 中基本算法的源碼實現,展示模板元編程、迭代器萃取、類型特性、偏特化等高級技巧如何為通用算法提供極致性能。
Effective C++ 實現篇精華:變量定義延後、轉型最小化、避免返回句柄、Inline 透徹理解
1. 盡可能延後變量定義 原則:變量定義推遲到真正需要時。減少構造/析構開銷,避免異常拋出時資源浪費,縮小作用域提高可讀性。 異常安全示例 // 不好:過早定
STL 容器完全指南:vector、deque、list、stack、queue、set、map 核心特性與實戰用法
STL 容器分類概覽 類別容器底層結構核心特點典型場景 序列容器vector動態數組隨機訪問 O(1),尾部增刪 O(1) 攤還,中間增刪 O(n)首
C++ 對象指針數組 vs 堆上對象數組:內存佈局與管理差異深度解析
兩種常見動態對象集合方式 需要動態管理大量對象時,常見兩種模式: 堆上對象數組:Class* p = new Class[N]; - 連續內存塊,每個元素
Vim 通用配置指南:Ubuntu/RedHat 下自動文件頭與一鍵編譯運行 C/C++/Java
配置文件位置 系統命令路徑 RedHat/CentOSvim /etc/vimrc全局配置 (需 root) Ubuntu/Debiansudo
LeetCode 合併兩個有序數組:逆向雙指針原地合併技巧
題目描述 給定兩個已排序整數數組 nums1 和 nums2,將 nums2 合併到 nums1 中使其成為一個有序數組。nums1 有足夠空間 (大小 ≥ m