LeetCode House Robber II:環形房屋動態規劃,拆環為鏈
問題描述 房屋圍成一圈(首尾相連),不能偷相鄰房屋。求最大盜竊金額。 House Robber I 是線性街道,本題是環形變體。 核心思想:拆環為鏈 環形約束
C++ constexpr 深度解析:編譯期計算、常量表達式與 const 對比
核心定位 constexpr(C++11 引入,C++14 擴展)指示值或函數返回值在編譯期可計算。比 const 更強:const 只保證運行時不修改,con
LeetCode Maximal Rectangle:直方圖最大矩形面積的矩陣推廣
問題描述 給定一個僅包含 0 和 1 的二維字符矩陣,找出只包含 1 的最大矩形區域,返回其面積。 示例: matrix = [ [1,0,1,0,0],
C++ 友元類詳解:打破封裝的受控訪問機制
概念定義 友元類:若類 B 被聲明為類 A 的友元類,則 B 的所有成員函數都可以訪問 A 的私有成員和保護成員。 聲明語法:friend class Clas
LeetCode 78 Subsets:位掩碼枚舉與回溯生成所有子集
問題描述 給定一個無重複元素的整數數組 nums,返回所有可能的子集(冪集)。子集內元素非降序,解集無重複。 示例:nums = [1,2,3] → [[],[
LeetCode 90 Subsets II:含重複元素集合的子集生成去重
問題描述 給定一個可能包含重複元素的整數數組 nums,返回所有不重複的子集(冪集)。子集內元素非降序,解集不能包含重複子集。 示例:nums = [1,2,2
C++ auto 型別說明符完全指南:推導規則、const 處理與實戰技巧
核心機制 auto 讓編譯器根據初始化表達式推導變量類型。必須初始化,否則編譯錯誤。 基本用法 auto x = 42; // int auto
C++ decltype 型別說明符深度解析:規則、引用與 auto 對比
基本語法 decltype(expression) 編譯器不計算表達式的值,僅分析其類型。C++11 引入,主要用於模板元編程與泛型代碼中推導表達式類型。 四
LeetCode Recover Binary Search Tree:中序遍歷找出兩個錯誤節點
問題描述 一棵二叉搜索樹(BST)中有兩個節點被錯誤交換,請恢復樹的正確結構。要求常數空間(遞歸棧不算)。 核心性質:BST 中序遍歷 = 遞增序列 若兩個節
HDU 5299 Circles Game:圓的包含關系 + SG 函數 + 掃描線構建森林
問題描述 平面上有 n 個圓,任意兩圓要么包含、要么分離,不相交不相切。Alice 和 Bob 輪流操作:選一個圓並刪除它及其內部所有圓。無法操作者輸。雙方最優
LeetCode 73 Set Matrix Zeroes:常數空間原地修改矩陣
問題描述 給定一個 m×n 矩陣,若某元素為 0,則將其所在行和列所有元素置 0。要求原地修改,且空間複雜度 O(1)。 進階思路演進 方案空間思路缺點
BZOJ 3144 [HNOI2013] 切糕:三維最小割建模詳解
問題描述 有一塊尺寸 P×Q×R 的切糕(三維網格),每個單元格 (x,y,z) 有一個不和諧值 v(x,y,z)。需要從底面(z=1)到頂面(z=R+1)切一
HDU 4046 Panda:線段樹維護「wbw」子串計數與單點修改
問題描述 給定一個只包含 w(白)和 b(黑)的字符串,支持兩種操作: 查詢:區間 [L, R] 內有多少個連續子串 wbw。 修改:將第 k 個字符改為 w
HDU Bomb:數位 DP 統計包含「49」的數字個數
問題描述 給定正整數 n,求 1 到 n 中包含子串 49 的數字個數。多組測試數據。 數位 DP 核心思想 數位 DP 是處理「數字區間內滿足特定性質的數的
LeetCode 337 House Robber III:從錯誤嘗試到正確樹形 DP 的思維轉折
題目回顧 同 2558,房屋構成二叉樹,相鄰節點不可同時選取,求最大權重和。 一個直觀但錯誤的想法:按層奇偶性求和 許多初學者(包括本文作者)會想:「二叉樹的
LeetCode 337 House Robber III:樹形 DP 打家劫舍進階解法
問題背景 小偷發現了一個新的作案區域,所有房屋構成一棵二叉樹(根節點為唯一入口)。若兩直接相連的房屋在同一晚被盜,會觸發報警。求在不觸發報警前提下,小偷能盜竊的
LeetCode Path Sum:二叉樹路徑總和問題深度解析
問題描述 給定一棵二叉樹和一個目標值 sum,判斷樹中是否存在從根節點到葉節點的路徑,使得路徑上所有節點值的總和等於給定的目標值。 例如:給定如下二叉樹,sum
C++探索之旅(一·十一):字符串打亂猜單詞遊戲——綜合實戰變量、函數、隨機數、字符串操作
遊戲規則 玩家 1 輸入單詞 → 程序打亂字母順序 → 玩家 2 猜原單詞。直到猜中顯示祝賀。 三步實現框架 輸入原單詞 secretWord 打亂函數 m