原创 LeetCode 63. 不同路徑 II (動態規劃或者回溯)

Description 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 現在考慮網格中有

原创 LeetCode 212. 單詞搜索 II (前綴樹)

Description 給定一個二維網格 board 和一個字典中的單詞列表 words,找出所有同時在二維網格和字典中出現的單詞。 單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中“相鄰”單元格是那些水平相鄰或垂直相鄰的

原创 LeetCode 179. 最大數 (自定義排序)

Description 給定一組非負整數,重新排列它們的順序使之組成一個最大的整數。 示例 1: 輸入: [10,2] 輸出: 210 示例 2: 輸入: [3,30,34,5,9] 輸出: 9534330 來源:力扣(Le

原创 LeetCode 131. 分割回文串 (回溯)

Description 給定一個字符串 s,將 s 分割成一些子串,使每個子串都是迴文串。 返回 s 所有可能的分割方案。 示例: 輸入: "aab" 輸出: [ ["aa","b"], ["a","a","b"] ]

原创 LeetCode 130. 被圍繞的區域(BFS或者並查集)

Description 給定一個二維的矩陣,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 圍繞的區域,並將這些區域裏所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O

原创 LeetCode 162. 尋找峯值(二分)

Description 峯值元素是指其值大於左右相鄰值的元素。 給定一個輸入數組 nums,其中 nums[i] ≠ nums[i+1],找到峯值元素並返回其索引。 數組可能包含多個峯值,在這種情況下,返回任何一個峯值所在位置即可

原创 LeetCode 32. 最長有效括號(棧或者DP)

Description 給定一個只包含 ‘(’ 和 ‘)’ 的字符串,找出最長的包含有效括號的子串的長度。 示例 1: 輸入: "(()" 輸出: 2 解釋: 最長有效括號子串爲 "()" 示例 2: 輸入: ")()())"

原创 LeetCode 207. 課程表(拓撲排序)

Description 你這個學期必須選修 numCourse 門課程,記爲 0 到 numCourse-1 。 在選修某些課程之前需要一些先修課程。 例如,想要學習課程 0 ,你需要先完成課程 1 ,我們用一個匹配來表示他們:[

原创 LeetCode 140. 單詞拆分 II (動態規劃)

Description 給定一個非空字符串 s 和一個包含非空單詞列表的字典 wordDict,在字符串中增加空格來構建一個句子,使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。 說明: 分隔時可以重複使用字典中的單詞。

原创 LeetCode 62. 不同路徑(回溯、動態規劃)

Description 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 問總共有多少條不

原创 LeetCode 75. 顏色分類(三指針)

Description 給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。 此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。 注意:

原创 LeetCode 34. 在排序數組中查找元素的第一個和最後一個位置(二分)

Description 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1,

原创 LeetCode 378. 有序矩陣中第K小的元素(二分或者歸併)

Description 給定一個 n x n 矩陣,其中每行和每列元素均按升序排序,找到矩陣中第 k 小的元素。 請注意,它是排序後的第 k 小元素,而不是第 k 個不同的元素。 示例: matrix = [ [ 1,

原创 LeetCode 44. 通配符匹配(回溯)

Description 給定一個字符串 (s) 和一個字符模式 § ,實現一個支持 ‘?’ 和 ‘*’ 的通配符匹配。 ‘?’ 可以匹配任何單個字符。 ‘*’ 可以匹配任意字符串(包括空字符串)。 兩個字符串完全匹配纔算匹配成功。

原创 LeetCode 739. 每日溫度(單調棧)

Description 請根據每日 氣溫 列表,重新生成一個列表。對應位置的輸出爲:要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會升高,請在該位置用 0 來代替。 例如,給定一個列表 temperatures =