原创 leetcode33 - 搜索旋轉排序樹組

題目描述 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 搜索一個給定的目標值,如果數組中存在這個目標值,則返回它的索引,否則

原创 leetcode-8 字符串轉換爲整數

題目分析 使用正則表達式與異常處理可以解決這個問題 java代碼 import java.util.regex.*; class Solution { public int myAtoi(String string) {

原创 leetcode每日一題-水壺問題

題目描述 有兩個容量分別爲 x升 和 y升 的水壺以及無限多的水。請判斷能否通過使用這兩個水壺,從而可以得到恰好 z升 的水? 如果可以,最後請用以上水壺中的一或兩個來盛放取得的 z升 水。 你允許: 裝滿任意一個水壺 清空任意

原创 leetcode-16 最接近的三數之和

題目分析 這個題目與三數之和的題目非常類似,是同一個題目,只要記錄最大的差值,然後返回就好了 Java代碼 public int threeSumClosest(int[] nums, int target) {

原创 leetcode每日一題 -二叉樹的直徑

題目分析 根據題目,我們可以轉換思想到求二叉樹的深度,其中左子樹深度加上右子樹深度就是二叉樹某一個節點的直徑,在這個過程中使用一個全局變量記錄最大解即可。 Java代碼 public int res; public int

原创 leetcode-39 組合總和

題目描述 給定一個無重複元素的數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的數字可以無限制重複被選取。 說明: 所有

原创 leetcode每日一題-買賣股票的最佳時機

題目分析 使用一個變量記錄前i天的最低售價,然後計算最大差值就好了 Java代碼 public int maxProfit(int[] prices) { int max_prifit = Integer.MIN_

原创 leetcode6 - Z字形變換

java代碼 方法1 public String convert(String s, int numRows) { // 處理1 行的特殊情況 if (numRows == 1) return s;

原创 leetcode-19 刪除鏈表的倒數第N個節點

#題目描述 1.先遍歷一遍,計算鏈表長度,那麼倒數k,就可以轉化爲整數n-k+1,那麼找到n-k節點就是刪除節點的前一個節點 2.雙指針,頭指針前進k,尾指針開始前進,保持gap,那麼頭指針爲空,尾指針就是刪除節點的前一個節點 j

原创 leetcode-42 接雨水

題目描述 題目代碼 棧的使用 public int trap(int[] height) { if(height==null || height.length==0){ return 0;

原创 leetcode7 - 整數反轉

Java代碼 public int reverse(int x) { int rev = 0; while(x != 0){ int pop = x % 10;

原创 leetcode每日一題 - 多數元素

題目分析 只要一個元素的數量多於其他元素,那麼在“對對碰”環節一定會生存下來 這個題目一定有解,如果沒有解的情況,需要使用time在進行一次判斷 如果是三個元素,就使用兩個標誌 Java代碼 public int majori

原创 leetcode59-螺旋矩陣2

題目描述 給定一個正整數 n,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。 題目分析 確定邊界值與前進方向即可 Java代碼 public int[][] generateMatrix(int n

原创 leetcode-40 組合總和2

題目描述 給定一個數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的每個數字在每個組合中只能使用一次。 說明: 所有數字

原创 leetcode每日一題 -將數組分爲和相等的三個部分

題目分析 和不被3整除的一定不行 和可以被3整除的,有兩個數組相等=sum/3,並且數組元素還有剩餘即可 其餘均不符合 Java代碼 public boolean canThreePartsEqualSum(int[] A)