原创 【樹】B042_LC_翻轉二叉樹以匹配先序遍歷(先序遍歷)

一、Problem 給定一個有 N 個節點的二叉樹,每個節點都有一個不同於其他節點且處於 {1, …, N} 中的值。通過交換節點的左子節點和右子節點,可以翻轉該二叉樹中的節點。 考慮從根節點開始的先序遍歷報告的 N 值序列。將這

原创 【設計】B011_LC_二叉搜索樹迭代器(排序 / 先序遍歷 + BST)

一、Problem 實現一個二叉搜索樹迭代器。你將使用二叉搜索樹的根節點初始化迭代器。 調用 next() 將返回二叉搜索樹中的下一個最小的數。 示例: BSTIterator iterator = new BSTIterato

原创 【堆】B010_LC_最接近原點的 K 個點(3 行排序 / 快速選擇)

一、Problem 我們有一個由平面上的點組成的列表 points。需要從中找出 K 個距離原點 (0, 0) 最近的點。 (這裏,平面上兩點之間的距離是歐幾里德距離。) 你可以按任何順序返回答案。除了點座標的順序之外,答案確保是

原创 【位運算】C014_LC_ 可被 5 整除的二進制前綴(暴力大數 / 同餘(2轉10進制 新發現))

一、Problem 給定由若干 0 和 1 組成的數組 A。我們定義 N_i:從 A[0] 到 A[i] 的第 i 個子數組被解釋爲一個二進制數(從最高有效位到最低有效位)。 返回布爾值列表 answer,只有當 N_i 可以被

原创 【棧】B019_LC_鏈表中的下一個最近的更大節點(暴力 / 單調棧)

一、Problem 給出一個以頭節點 head 作爲第一個節點的鏈表。鏈表中的節點分別編號爲:node_1, node_2, node_3, … 。 每個節點都可能有下一個更大值(next larger value):對於 nod

原创 英語 期末課後習題答案整理

不多說,直接上圖… 抽樣調查,答案已經寫好啦! 非重點內容… 張雷(孫紅雷飾)演哈哈哥時,與昌哥交易的一情節,不得不說,實力派的孫紅雷演技碉堡了,體現在孫紅雷在兩個身份之間轉換自如,毒發戒毒一段看的揪心,往往爲了釣到更大的幕

原创 【數學】B084_LC_可被 K 整除的最小全 1 整數(set 判重 / 數學推導)

一、Problem 給定正整數 K,你需要找出可以被 K 整除的、僅包含數字 1 的最小正整數 N。 返回 N 的長度。如果不存在這樣的 N,就返回 -1。 示例 1: 輸入:1 輸出:1 解釋:最小的答案是 N = 1,其長度爲

原创 【雙指針】B022_LC_駝峯式匹配(分類討論)

一、Problem 如果我們可以將小寫字母插入模式串 pattern 得到待查詢項 query,那麼待查詢項與給定模式串匹配。(我們可以在任何位置插入每個字符,也可以插入 0 個字符。) 給定待查詢列表 queries,和模式串

原创 【數組】B082_LC_行相等的最少多米諾旋轉(選基準值)

一、Problem 在一排多米諾骨牌中,A[i] 和 B[i] 分別代表第 i 個多米諾骨牌的上半部分和下半部分。(一個多米諾是兩個從 1 到 6 的數字同列平鋪形成的 —— 該平鋪的每一半上都有一個數字。) 我們可以旋轉第 i

原创 【棧】C020_LC_刪除最外層的括號(記錄左右括號數)

一、Problem 有效括號字符串爲空 ("")、"(" + A + “)” 或 A + B,其中 A 和 B 都是有效的括號字符串,+ 代表字符串的連接。例如,"","()","(())()" 和 “(()(()))” 都是有效

原创 【樹】B040_LC_節點與其祖先之間的最大差值(後序遍歷)

一、Problem 給定二叉樹的根節點 root,找出存在於不同節點 A 和 B 之間的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子節點之一爲 B,或者 A 的任何子節點

原创 【樹】B040_LC_從根到葉的二進制數之和(回溯 / 遞歸)

一、Problem 給出一棵二叉樹,其上每個結點的值都是 0 或 1 。每一條從根到葉的路徑都代表一個從最高有效位開始的二進制數。例如,如果路徑爲 0 -> 1 -> 1 -> 0 -> 1,那麼它表示二進制數 01101,也就是

原创 【二分】B019_LC_小張刷題計劃(貪婪)

一、Problem n 道題,編號從 0 到 n-1,並計劃在 m 天內按照題目編號順序刷完所有的題目(注意,小張不能用多天完成同一題)。 在小張刷題計劃中,小張需要用 time[i] 的時間完成編號 i 的題目。此外,小張還可以

原创 【二分】B018_LC_在 D 天內送達包裹的能力(注意特判)

一、Problem 傳送帶上的包裹必須在 D 天內從一個港口運送到另一個港口。 傳送帶上的第 i 個包裹的重量爲 weights[i]。每一天,我們都會按給出重量的順序往傳送帶上裝載包裹。我們裝載的重量不會超過船的最大運載重量。

原创 【遞推型 dp】B006_LC_視頻拼接(枚舉時間點T / 貪心)

一、Problem 你將會獲得一系列視頻片段,這些片段來自於一項持續時長爲 T 秒的體育賽事。這些片段可能有所重疊,也可能長度不一。 視頻片段 clips[i] 都用區間進行表示:開始於 clips[i][0] 並於 clips[