原创 【區間 dp】A023_LC_合併石頭的最低成本(窮舉分割點)

一、Problem 有 N 堆石頭排成一排,第 i 堆中有 stones[i] 塊石頭。 每次移動(move)需要將連續的 K 堆石頭合併爲一堆,而這個移動的成本爲這 K 堆石頭的總數。 找出把所有石頭合併成一堆的最低成本。如果不

原创 【樹】B039_LC_先序遍歷構造二叉樹(分治思想)

一、Problem Return the root node of a binary search tree that matches the given preorder traversal. Constraints: 1 <

原创 【區間 dp】B024_LC_最長等差數列(unordered_map + dp)

一、Problem 給定一個整數數組 A,返回 A 中最長等差子序列的長度。 回想一下,A 的子序列是列表 A[i_1], A[i_2], …, A[i_k] 其中 0 <= i_1 < i_2 < … < i_k <= A.le

原创 【鏈表】C015_LC_迴文鏈表(雙指針 / 利用遞歸逐層返回)

一、Problem You have two numbers represented by a linked list, where each node contains a single digit. The digits ar

原创 【樹】B038_LC_根到葉路徑上的不足節點(後序遍歷)

一、Problem 給定一棵二叉樹的根 root,請你考慮它所有 從根到葉的路徑:從根到任何葉的路徑。(所謂一個葉子節點,就是一個沒有子節點的節點) 假如通過節點 node 的每種可能的 “根-葉” 路徑上值的總和全都小於給定的

原创 【位運算】B012_LC_負二進制轉換(通用 k 進制)

一、Problem Given a number N, return a string consisting of "0"s and "1"s that represents its value in base -2 (negat

原创 【棧】B018_LC_不同字符的最小子序列(單調遞增棧 + 貪心)

一、Problem Return the lexicographically smallest subsequence of text that contains all the distinct characters of te

原创 【區間 dp】A022_LC_最短公共超序列(LMS 加強 / 優化)

一、Problem Given two strings str1 and str2, return the shortest string that has both str1 and str2 as subsequences.

原创 【數組】C081_LC_複寫零(暴力 / 優化 / 倒序遍歷)

一、Problem Given a fixed length array arr of integers, duplicate each occurrence of zero, shifting the remaining ele

原创 【設計】C009_LC_用兩個棧實現隊列(數據遷移)

一、Problem 用兩個棧實現一個隊列。隊列的聲明如下,請實現它的兩個函數 appendTail 和 deleteHead ,分別完成在隊列尾部插入整數和在隊列頭部刪除整數的功能。(若隊列中沒有元素,deleteHead 操作返

原创 【鏈表】B014_LC_鏈表求和(空鏈表值爲 0 / 進階問題)

一、Problem You have two numbers represented by a linked list, where each node contains a single digit. The digits ar

原创 【位運算】B013_LC_ 按列翻轉得到最大值等行數(統計行的模式數)

一、Problem 給定由若干 0 和 1 組成的矩陣 matrix,從中選出任意數量的列並翻轉其上的 每個 單元格。翻轉後,單元格的值從 0 變成 1,或者從 1 變爲 0 。 返回經過一些翻轉後,行上所有值都相等的最大行數。

原创 【狀壓 dp】A003_LC_最小的必要團隊(Map)

一、Problem 作爲項目經理,你規劃了一份需求的技能清單 req_skills,並打算從備選人員名單 people 中選出些人組成一個「必要團隊」( 編號爲 i 的備選人員 people[i] 含有一份該備選人員掌握的技能列表

原创 【搜索】A065_LC_逃離大迷宮(預算障礙物面積 + 正反 bfs / 優化)

一、Problem 在一個 10^6 x 10^6 的網格中,每個網格塊的座標爲 (x, y),其中 0 <= x, y < 10^6。 我們從源方格 source 開始出發,意圖趕往目標方格 target。每次移動,我們都可以走

原创 【棧】A017_LC_解析布爾表達式(處理每一個 (xxx))

一、Problem 給你一個以字符串形式表述的 布爾表達式(boolean) expression,返回該式的運算結果。 有效的表達式需遵循以下約定: “t”,運算結果爲 True “f”,運算結果爲 False “!(expr)