原创 【區間 dp】B019_LC_單詞拆分(向前看 / 優化邊界)

一、Problem 給定一個非空字符串 s 和一個包含非空單詞列表的字典 wordDict,判定 s 是否可以被空格拆分爲一個或多個在字典中出現的單詞。 說明: 拆分時可以重複使用字典中的單詞。 你可以假設字典中沒有重複的單詞。

原创 【數學】C081_LC_移動石子直到連續(腦筋急轉彎 + 分類討論)

一、Problem 三枚石子放置在數軸上,位置分別爲 a,b,c。 每一回合,我們假設這三枚石子當前分別位於位置 x, y, z 且 x < y < z。從位置 x 或者是位置 z 拿起一枚石子,並將該石子移動到某一整數位置 k

原创 【鏈表】C013_LC_移除重複節點(hash 表 / 雙指針)

一、Problem 編寫代碼,移除未排序鏈表中的重複節點。保留最開始出現的節點。 示例1: 輸入:[1, 2, 3, 3, 2, 1] 輸出:[1, 2, 3] 示例2: 輸入:[1, 1, 1, 1, 2] 輸出:[

原创 【數組】C078_LC_數組的相對排序(模擬 / 桶排序)

一、Problem 給你兩個數組,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每個元素都出現在 arr1 中 對 arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。

原创 【網格 dp】B005_LC_最大的以 1 爲邊界的正方形(暴力 / 考慮木桶原理的 dp)

一、Problem Given a 2D grid of 0s and 1s, return the number of elements in the largest square subgrid that has all 1s

原创 【雙指針】B020_LC_最接近的三數之和(二分思想 + 剪枝)

一、Problem Given an array nums of n integers and an integer target, find three integers in nums such that the sum is

原创 【數學】B082_LC_n 的第 k 個因子(排序 / 分析倒序因子)

一、Problem 給你兩個正整數 n 和 k 。 如果正整數 i 滿足 n % i == 0 ,那麼我們就說正整數 i 是整數 n 的因子。 考慮整數 n 的所有因子,將它們 升序排列 。請你返回第 k 個因子。如果 n 的因子

原创 【數學】B083_LC_檢查數組對是否可以被 k 整除(檢查成對的餘數 + 處理負數取模)

一、Problem 給你一個整數數組 arr 和一個整數 k ,其中數組長度是偶數,值爲 n 。 現在需要把數組恰好分成 n / 2 對,以使每對數字的和都能夠被 k 整除。 如果存在這樣的分法,請返回 True ;否則,返回 F

原创 【雙指針】B021_LC_滿足條件的子序列數目(二分思想 + 排列組合 + 冪數組)

一、Problem 給你一個整數數組 nums 和一個整數 target 。 請你統計並返回 nums 中能滿足其最小元素與最大元素的 和 小於或等於 target 的 非空 子序列的數目。 由於答案可能很大,請將結果對 10^9

原创 【隊列】A007_LC_滿足不等式的最大值(公式轉化 + 單調遞減隊列優化)

一、Problem 給你一個數組 points 和一個整數 k 。數組中每個元素都表示二維平面上的點的座標,並按照橫座標 x 的值從小到大排序。也就是說 points[i] = [xi, yi] ,並且在 1 <= i < j <

原创 【博弈】B001_LC_石子游戲 II(記憶化搜索 / 純 dp)

一、Problem 亞歷克斯和李繼續他們的石子游戲。許多堆石子 排成一行,每堆都有正整數顆石子 piles[i]。遊戲以誰手中的石子最多來決出勝負。 亞歷克斯和李輪流進行,亞歷克斯先開始。最初,M = 1。 在每個玩家的回合中,該

原创 【搜索】B064_LC_邊框着色(理解題意)

一、Problem 給出一個二維整數網格 grid,網格中的每個值表示該位置處的網格塊的顏色。 只有當兩個網格塊的顏色相同,而且在四個方向中任意一個方向上相鄰時,它們屬於同一連通分量。 連通分量的邊界是指連通分量中的所有與不在分量

原创 【滑窗】B019_LC_移動石子直到連續 II(分類討論)

一、Problem 在一個長度無限的數軸上,第 i 顆石子的位置爲 stones[i]。如果一顆石子的位置最小/最大,那麼該石子被稱作端點石子。 每個回合,你可以將一顆端點石子拿起並移動到一個未佔用的位置,使得該石子不再是一顆端點

原创 【數組】A080_LC_缺失的第一個正數(索引對比值)

一、Problem Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2,0] Ou

原创 【區間 dp】B020_LC_多邊形三角剖分的最低得分(畫圖)

一、Problem 給定 N,想象一個凸 N 邊多邊形,其頂點按順時針順序依次標記爲 A[0], A[i], …, A[N-1]。 假設您將多邊形剖分爲 N-2 個三角形。對於每個三角形,該三角形的值是頂點標記的乘積,三角剖分的分