原创 leetcode 39. 組合總和 擊敗98.03%

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

原创 LeetCode 18. 四數之和 擊敗82%

給定一個包含 n 個整數的數組 nums 和一個目標值 target,判斷 nums 中是否存在四個元素 a,b,c 和 d ,使得 a + b + c + d 的值與 target 相等?找出所有滿足條件且不重複的四元組。 注

原创 leetcode 49. 字母異位詞分組 擊敗86%

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

原创 guava RateLimiter源碼解讀

@CanIgnoreReturnValue //permits是此線程這次要取的令牌數 public double acquire(int permits) { //返回獲得這些數量的令牌需要等待的時間 lon

原创 leetcode 40. 組合總和 II 擊敗98%

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

原创 leetcode 43. 字符串相乘 擊敗83%

給定兩個以字符串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示爲字符串形式。 示例 1: 輸入: num1 = “2”, num2 = “3” 輸出: “6” 示例 2: 輸入

原创 leetcode 34. 在排序數組中查找元素的第一個和最後一個位置 擊敗100%

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

原创 leetcode 29. 兩數相除 擊敗100%

給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法、除法和 mod 運算符。 返回被除數 dividend 除以除數 divisor 得到的商。 示例 1: 輸入: dividend =

原创 leetcode 62. 不同路徑 擊敗100%

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

原创 leetcode 474. 一和零 擊敗99.3%

在計算機界中,我們總是追求用有限的資源獲取最大的收益。 現在,假設你分別支配着 m 個 0 和 n 個 1。另外,還有一個僅包含 0 和 1 字符串的數組。 你的任務是使用給定的 m 個 0 和 n 個 1 ,找到能拼出存在於數

原创 leetcode56. 合併區間 擊敗70%

給出一個區間的集合,請合併所有重疊的區間。 示例 1: 輸入: [[1,3],[2,6],[8,10],[15,18]] 輸出: [[1,6],[8,10],[15,18]] 解釋: 區間 [1,3] 和 [2,6] 重疊, 將

原创 leetcode 59. 螺旋矩陣 II 擊敗20.83%

給定一個正整數 n,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。 示例: 輸入: 3 輸出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] public

原创 leetcode 31. 下一個排列 擊敗99.97%

實現獲取下一個排列的函數,算法需要將給定數字序列重新排列成字典序中下一個更大的排列。 如果不存在下一個更大的排列,則將數字重新排列成最小的排列(即升序排列)。 必須原地修改,只允許使用額外常數空間。 以下是一些例子,輸入位於左側

原创 leetcode 22. 括號生成 擊敗99.57%

給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的並且有效的括號組合。 例如,給出 n = 3,生成結果爲: [ “((()))”, “(()())”, “(())()”, “()(())”,

原创 leetcode 477. 漢明距離總和 擊敗97.79%

兩個整數的 漢明距離 指的是這兩個數字的二進制數對應位不同的數量。 計算一個數組中,任意兩個數之間漢明距離的總和。 示例: 輸入: 4, 14, 2 輸出: 6 解釋: 在二進制表示中,4表示爲0100,14表示爲1110,2表