LeetCode 125 驗證回文串:雙指標原地驗證與字符過濾技巧
LeetCode 125 驗證回文串:雙指標原地驗證與字符過濾技巧 題目描述 給定字串,判斷是否為回文。僅考慮字母數字字符,忽略大小寫。空字串視為有效回文。
LeetCode 相同樹:遞迴判斷二叉樹結構與節點值完全一致
LeetCode 相同樹:遞迴判斷二叉樹結構與節點值完全一致 題目描述 給定兩棵二叉樹根節點 p、q,判斷它們是否完全相同。條件:結構相同且對應節點值相等。
LeetCode 67 二進制字串相加:從暴力轉換到模擬逐位相加演進
LeetCode 67 二進制字串相加:從暴力轉換到模擬逐位相加演進 題目描述 給定兩個二進制字串 a、b,回傳它們的和(亦為二進制字串)。 範例:a =
LeetCode 234 回文鏈表:O(n) 時間 O(1) 空間的遞迴與迭代解法
LeetCode 234 回文鏈表:O(n) 時間 O(1) 空間的遞迴與迭代解法 題目描述 給定單鏈表頭節點,判斷其是否為回文結構。進階要求:O(n) 時間
LeetCode 交錯字串:二維動態規劃與空間優化完整解析
LeetCode 交錯字串:二維動態規劃與空間優化完整解析 題目描述 給定三個字串 s1、s2、s3,判斷 s3 是否由 s1 和 s2 交錯組成,且保持兩字
C++ 傳值與傳遞引用深度解析:從記憶體模型到檔案模組化實戰
C++ 傳值與傳遞引用深度解析:從記憶體模型到檔案模組化實戰 核心概念:值傳遞 vs 引用傳遞 理解函數參數傳遞機制,關鍵在於記憶體如何管理。我們以簡單的 a
C++ 確保函數僅被呼叫一次的優雅實作技巧
C++ 確保函數僅被呼叫一次的優雅實作技巧 在 C++ 開發中,常遇到需要確保某個初始化函數(callee)在整個程式生命週期中僅執行一次的情況。雖然呼叫端(c
C++11 實現輕量級事件系統:基於 std::function 與完美轉發的現代設計
設計目標與取捨 C++ 標準庫缺失事件/信號機制。第三方庫(Boost.Signals2, Qt)功能強但依賴重。本文實現一個僅依賴 C++11 標準庫、Hea
C++ 捕獲所有異常:catch(...) 與重新拋出的正確姿勢
catch-all 捕獲所有異常 catch (...) 是 C++ 提供的通配符異常處理器,能匹配任何類型的異常對象。語法: try { // 可能拋
C++ 函數指針完全指南:聲明、typedef 簡化、實戰應用與避坑
函數指針聲明語法解析 函數指針指向可執行代碼入口,聲明形式: 返回類型 (*指針變量名)(參數列表); 例子: 指向 void(char*, int&) 的指針
C/C++ 頭文件防重複包含機制詳解:#ifndef vs #pragma once
為什麼需要防重複包含? 頭文件在同一編譯單元(.cpp)中被多次 #include 會導致重複定義錯誤(變量、函數體、類定義)或編譯效率下降。常見原因:
C++ 協變返回類型:多態克隆與工廠模式的類型安全實現
什麼是協變返回類型? C++ 允許派生類覆寫虛函數時,返回類型從基類指針/引用「收窄」為派生類指針/引用。這打破了傳統「覆寫函數簽名必須完全一致」的規則,實現了
Cocos2d-x 創建 Sprite 的四種核心方法詳解與實戰對比
前言 在 Cocos2d-x 遊戲開發中,CCSprite 是渲染 2D 圖像的核心節點。掌握多種創建方式,能針對不同場景(單圖、圖集、動態紋理)選擇最高效方案
C++ Primer 第5版 學習筆記(三):表達式、語句與異常處理精華
第四章:表達式 —— C++ 計算的基石 1. 表達式基礎與求值規則 構成: 運算對象 + 運算符。單目/雙目/三目運算符按操作數個數分類。 分析三
C++ 類與對象核心機制深度解析:封裝、作用域與成員函數定義
類的本質:用戶自定義的「數據+行為」復合類型 C++ 類是面向對象的核心載體,將屬性(數據成員)與方法(成員函數)封裝為一體。以「人」類為例:姓名、年齡為屬性;
BZOJ 1831 [AHOI2008] 逆序對:動態規劃與單調性證明詳解
問題描述 給定長度 N ≤ 10000 的序列,元素取值 1..K (K ≤ 100) 或 -1(模糊位)。需將 -1 替換為 [1, K] 中的整數,使最終序
BZOJ 1084 [SCOI2005] 最大子矩陣:動態規劃與狀態壓縮詳解
問題描述 給定 n × m 矩陣(n ≤ 100, m ≤ 2, k ≤ 10),選取 k 個互不重疊的子矩陣,使其元素值之和最大。輸出最大和。 核心觀察:m