原创 【滑窗】B021_LC_兩個非重疊子數組的最大和(分類討論 / 優化)

一、Problem 給出非負整數數組 A ,返回兩個非重疊(連續)子數組中元素的最大和,子數組的長度分別爲 L 和 M。(這裏需要澄清的是,長爲 L 的子數組可以出現在長爲 M 的子數組之前或之後。) 從形式上看,返回最大的 V,

原创 【思維題】B013_LC_煎餅排序(查找最大值下標)

一、Problem 給定數組 A,我們可以對其進行煎餅翻轉:我們選擇一些正整數 k <= A.length,然後反轉 A 的前 k 個元素的順序。我們要執行零次或多次煎餅翻轉(按順序一次接一次地進行)以完成對數組 A 的排序。 返

原创 【棧】B020_LC_最大寬度坡(排序 / 單調棧)

一、Problem 給定一個整數數組 A,坡是元組 (i, j),其中 i < j 且 A[i] <= A[j]。這樣的坡的寬度爲 j - i。 找出 A 中的坡的最大寬度,如果不存在,返回 0 。 輸入:[6,0,8,2,1,

原创 【樹】A041_LC_監控二叉樹(後序遍歷)

一、Problem 給定一個二叉樹,我們在樹的節點上安裝攝像頭。 節點上的每個攝影頭都可以監視其父對象、自身及其直接子對象。 計算監控樹的所有節點所需的最小攝像頭數量。 輸入:[0,0,null,0,null,0,null,nu

原创 【貪心】A044_LC_最多 K 次交換相鄰數位後得到的最小整數(暴力掃描最小的字符 / 線段樹)

一、Problem 給你一個字符串 num 和一個整數 k 。其中,num 表示一個很大的整數,字符串中的每個字符依次對應整數上的各個 數位 。 你可以交換這個整數相鄰數位的數字 最多 k 次。 請你返回你能得到的最小整數,並以字

原创 【計數 dp】A000_LC_表示數字的最少運算符(記憶化(有一部分待證明))

一、Problem 給定一個正整數 x,我們將會寫出一個形如 x (op1) x (op2) x (op3) x … 的表達式,其中每個運算符 op1,op2,… 可以是加、減、乘、除(+,-,*,或是 /)之一。例如,對於 x

原创 【線性 dp】A016_LC_通配符匹配(分類討論)

一、Problem Given an input string (s) and a pattern §, implement wildcard pattern matching with support for ‘?’ and ‘

原创 【思維題】A014_LC_按位與爲零的三元組(map 預處理 + 組合數學)

一、Problem 給定一個整數數組 A,找出索引爲 (i, j, k) 的三元組,使得: 0 <= i < A.length 0 <= j < A.length 0 <= k < A.length A[i] & A[j] & A

原创 【設計】B010_LC_元音拼寫檢查器(2 × Map + 統一將元音替換成#)

一、Problem 在給定單詞列表 wordlist 的情況下,我們希望實現一個拼寫檢查器,將查詢單詞轉換爲正確的單詞。 對於給定的查詢單詞 query,拼寫檢查器將會處理兩類拼寫錯誤: 大小寫:如果查詢匹配單詞列表中的某個單詞

原创 【貪心】B045_LC_不含 AAA 或 BBB 的字符串(先append多的)

一、Problem 給定兩個整數 A 和 B,返回任意字符串 S,要求滿足: S 的長度爲 A + B,且正好包含 A 個 ‘a’ 字母與 B 個 ‘b’ 字母; 子串 ‘aaa’ 沒有出現在 S 中; 子串 ‘bbb’ 沒有出現

原创 【線性 dp】A015_LC_最長有效括號(棧 + dp / 空間壓縮)

一、Problem Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-for

原创 【回溯】B010_LC_連續差相同的數字(構造)

一、Problem 返回所有長度爲 N 且滿足其每兩個連續位上的數字之間的差的絕對值爲 K 的非負整數。 請注意,除了數字 0 本身之外,答案中的每個數字都不能有前導零。例如,01 因爲有一個前導零,所以是無效的;但 0 是有效的

原创 【樹】B043_LC_在二叉樹中分配硬幣(後序遍歷)

一、Problem 給定一個有 N 個結點的二叉樹的根結點 root,樹中的每個結點上都對應有 node.val 枚硬幣,並且總共有 N 枚硬幣。 在一次移動中,我們可以選擇兩個相鄰的結點,然後將一枚硬幣從其中一個結點移動到另一個

原创 【前綴和】B007_LC_統計全 1 子矩形(暴力 / 預處理行的前綴和 + 數學組合)

一、Problem Given a rows * columns matrix mat of ones and zeros, return how many submatrices have all ones. Input: ma

原创 【思維題】B012_LC_所有螞蟻掉下來前的最後一刻(記錄最大距離)

一、Problem 有一塊木板,長度爲 n 個 單位 。一些螞蟻在木板上移動,每隻螞蟻都以 每秒一個單位 的速度移動。其中,一部分螞蟻向 左 移動,其他螞蟻向 右 移動。 當兩隻向 不同 方向移動的螞蟻在某個點相遇時,它們會同時改