C++ 智能指針 unique_ptr 入門:替代 new 防止內存洩漏
unique_ptr 系列(一):為什麼要用 std::unique_ptr 代替 new vector 易錯點多源於智能指針,故開啟 unique_ptr 專
C++ vector insert() 與 make_move_iterator:移動語義導致源 vector 失效
vector insert() 陷阱:make_move_iterator 會掏空源容器 之前介紹過 vector::insert 將 vector B 元素插
LeetCode 104 Maximum Depth of Binary Tree:二叉樹最大深度遞歸解法
LeetCode 104 Maximum Depth of Binary Tree(二叉樹的最大深度) 題目翻譯 給定一個二叉樹,找出其最大深度。最大深度是指從
LeetCode Swap Nodes in Pairs:兩兩交換鏈表節點
LeetCode Swap Nodes in Pairs 解題報告 原題 將鏈表中相鄰的兩個節點交換位置。注意:第一、二節點交換,第二、三不交換。 限制:不修改
HDU 1394 Minimum Inversion Number:樹狀數組求最小逆序數
HDU 1394 Minimum Inversion Number 解題詳解 題目鏈接:點擊打開鏈接 問題分析 求排列的逆序數,通常用線段樹或樹狀數組(BIT)
LeetCode Merge k Sorted Lists:最小堆合併 K 條有序鏈表
LeetCode Merge k Sorted Lists 解題報告 原題 將 k 條有序鏈表合併為一條有序鏈表。 注意:Python 內建 heapq 實現最
LeetCode 258 Add Digits:數字根 O(1) 解法詳解
LeetCode 258 Add Digits(各位相加 / 數字根) 題目翻譯 給定非負整數,反覆將各位數字相加,直到結果為一位數。例如 38 → 3+8=1
C++ 實戰:在 vector<自定義類> 中使用 std::find 與 std::find_if
C++ vector 系列:自定義類型的查找算法應用 前文介紹了 std::find 和 std::find_if 基礎用法,本文深入探討當 vector 存儲
LeetCode 292 Nim Game 解題詳解:先手必勝策略與數學規律
LeetCode 292 Nim Game(尼姆遊戲) 題目翻譯 你正在和朋友玩一個 Nim 遊戲:桌上有一堆石頭,雙方輪流取走 1 到 3 顆石頭。取走最後一
C++ vectorC++ vector<unique_ptr<T>> 排序實戰與常見坑點 基礎用法 unique_ptr 不可拷貝,僅可移動。排序時比較
POJ 3468 區間加/區間和 線段樹懶標記模板題詳解
POJ 3468 A Simple Problem with Integers 線段樹懶標記詳解 題目大意 維護長度 N ≤ 100,000 的序列,支持 Q
LeetCode 41. First Missing Positive O(n)時間常數空間原地置換解法
LeetCode 41. First Missing Positive 題目詳解 題目要求 給定未排序整數數組(含正負數與零),找出**最小未出現的正整數**
ZigZag Z字形排列算法詳解:從JPEG編碼到LeetCode經典面試題
ZigZag Z字形排列算法全景解析 一、圖像壓縮中的 Z 字掃描(JPEG 標準) JPEG 編碼將圖像分為 8×8 塊,對 DCT 系數矩陣採用 **Z
Dubbo 遠程 Zookeeper 服務消費失效排查:防火牆端口與協議配置實戰
Dubbo 遠程 Zookeeper 服務消費失效全流程排查 現象描述 內網環境下 Provider、Consumer、Zookeeper、Dubbo-Adm
C語言位域詳解:定義、記憶體佈局、跨平台注意事項與實戰技巧
C語言位域完整指南 什麼是位域 位域允許在結構體中以**位**為單位分配成員寬度,多個位域可緊湊打包在一個或多個整型存儲單元中,極大節省記憶體,常用於硬件寄存
extern "C" 深度解析:C++混合編程鏈接規範全指南
extern C 深度解析:C++與C混合編程核心機制 核心作用 extern C 指示編譯器對修飾的函數/變量採用 **C語言鏈接規範**(不進行名字修飾)
C 標準庫 strcmp 函數用法詳解:返回值語義、ASCII 比較規則與 string 互轉
函數原型 int strcmp(const char *s1, const char *s2); 頭文件:<cstring> (C++) / &l
C 語言複雜聲明讀法完全指南:「由內而外、層層剝離」優先級規則詳解
為什麼 C 聲明難讀? C 聲明**不是**從左往右讀,而是遵循**運算符優先級**結合。核心原則:聲明模仿使用語法(如 *p 取值 → 聲明 int *p)。