原创 spring聲明式事務總結

在spring框架下,一般使用註解@Transactional,在一個bean的方法頭聲明此方法中的對數據庫的操作處於一個事務中,比如 @Transactional(rollbackFor = Exception.class)

原创 leetcode 19. 刪除鏈表的倒數第N個節點 擊敗100%

給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->3->5. 說明: 給定的 n 保證是有

原创 leetcode 473. 火柴拼正方形 通過快速判斷擊敗100%

還記得童話《賣火柴的小女孩》嗎?現在,你知道小女孩有多少根火柴,請找出一種能使用所有火柴拼成一個正方形的方法。不能折斷火柴,可以把火柴連接起來,並且每根火柴都要用到。 輸入爲小女孩擁有火柴的數目,每根火柴用其長度表示。輸出即爲是

原创 leetcode 24. 兩兩交換鏈表中的節點 擊敗100%

給定一個鏈表,兩兩交換其中相鄰的節點,並返回交換後的鏈表。 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。 示例: 給定 1->2->3->4, 你應該返回 2->1->4->3. public ListNod

原创 478. 在圓內隨機生成點 擊敗97.76%

給定圓的半徑和圓心的 x、y 座標,寫一個在圓中產生均勻隨機點的函數 randPoint 。 說明: 輸入值和輸出值都將是浮點數。 圓的半徑和圓心的 x、y 座標將作爲參數傳遞給類的構造函數。 圓周上的點也認爲是在圓中。 ran

原创 leetcode 481. 神奇字符串 擊敗100%

神奇的字符串 S 只包含 ‘1’ 和 ‘2’,並遵守以下規則: 字符串 S 是神奇的,因爲串聯字符 ‘1’ 和 ‘2’ 的連續出現次數會生成字符串 S 本身。 字符串 S 的前幾個元素如下:S = “12211212212211

原创 spring循環依賴問題

spring在DefaultSingletonBeanRegistry類中有以下幾種緩存池: /** Cache of singleton objects: bean name to bean instance. */ //

原创 leetcode 47. 全排列 II 擊敗96.5%

給定一個可包含重複數字的序列,返回所有不重複的全排列。 示例: 輸入: [1,1,2] 輸出: [ [1,1,2], [1,2,1], [2,1,1] ] //思路就是通過遞歸做深度搜索,先對數組排序 //每次

原创 leetcode 74. 搜索二維矩陣

編寫一個高效的算法來判斷 m x n 矩陣中,是否存在一個目標值。該矩陣具有如下特性: 每行中的整數從左到右按升序排列。 每行的第一個整數大於前一行的最後一個整數。 示例 1: 輸入: matrix = [ [1, 3, 5

原创 leetcode 78. 子集 擊敗99%

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

原创 leetcode 63. 不同路徑 II

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

原创 leetcode 77. 組合擊敗99.47%

給定兩個整數 n 和 k,返回 1 … n 中所有可能的 k 個數的組合。 示例: 輸入: n = 4, k = 2 輸出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] static

原创 leetcode 64. 最小路徑和 擊敗98%

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

原创 leetcode 55. 跳躍遊戲 擊敗99.98%

給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 我們可以先跳 1 步

原创 leetcode 48. 旋轉圖像 擊敗100%

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