原创 198. 打家劫舍 --動態規劃

  你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存放金額的非負整數數組,計算

原创 62 不同路徑 - 動態規劃

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

原创 90 子集2

給定一個可能包含重複元素的整數數組 nums,返回該數組所有可能的子集(冪集)。 說明:解集不能包含重複的子集。 示例: 輸入: [1,2,2] 輸出: [ [2], [1], [1,2,2], [2,2],

原创 5 最長迴文子串 - 動態規劃

  給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cbbd" 輸出:

原创 53 最大子序和 - 動態規劃 & 分治

給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。 示例: 輸入: [-2,1,-3,4,-1,2,1,-5,4], 輸出: 6 解釋: 連續子數組 [4,-1,2,1] 的和最大,爲 

原创 34 在排序數組中查找元素的第一個和最後一個位置

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

原创 64. 最小路徑和

給定一個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和爲最小。 說明:每次只能向下或者向右移動一步。 示例: 輸入: [ [1,3,1], [1,5,1], [4,2,1] ]

原创 48. 旋轉圖像 【數組】

給定一個 n × n 的二維矩陣表示一個圖像。 將圖像順時針旋轉 90 度。 說明: 你必須在原地旋轉圖像,這意味着你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉圖像。 示例 1: 給定 matrix = [ [1

原创 49 字母以爲詞分組 【哈希表】【字符串】

給定一個字符串數組,將字母異位詞組合在一起。字母異位詞指字母相同,但排列不同的字符串。 示例: 輸入: ["eat", "tea", "tan", "ate", "nat", "bat"] 輸出: [ ["ate","eat"

原创 Java 判斷時間大小

import java.text.SimpleDateFormat; import java.util.Date; public static void main(String []args) { SimpleDateForm

原创 java 相關筆記

/別名 @JsonAlias("image_id") String imageId; 打印 @Override public String toString() { return "Properties{"

原创 回溯 lc 彙總

題目 提示 47. 全排列 II 思考一下,爲什麼造成了重複,如何在搜索之前就判斷這一支會產生重複,從而“剪枝”。 17 .電話號碼的字母組合 22. 括號生成 這是字符串問題,沒有顯式回溯的過程。這道題廣度優先遍歷也很好寫,

原创 39 組合總和

** 找數組中 加減乘除等於某target 用遞歸回溯 ** 給定一個無重複元素的數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candid

原创 46全排列

給定一個 沒有重複 數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3] 輸出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]

原创 mid 整數轉羅馬數字

題目 https://leetcode-cn.com/problems/integer-to-roman/submissions/ 羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M。 字符 數值