原创 LeetCode---40. Combination Sum II

題目 給出一個數組和目標值,找出所有的組合,使得組合裏面元素的和爲目標值。注意:原數組可能有重複元素;數組中的元素在組合裏只能出現一次。如: Example 1: Input: candidates = [10,1,2,7,6,1

原创 LeetCode---15. 3Sum

題目 給定一個數組,找出3個元素a,b,c使得它們的和爲0。找出所有符合該條件的三元組。 Python題解 class Solution: def threeSum(self, nums): """

原创 LeetCode---229. Majority Element II

題目 給出一個整數數組,找出所有超過n / 3次的數。算法時間複雜度必須是O(n),空間複雜度爲O(1)。 Python題解 class Solution(object): def majorityElement(self

原创 Python模塊datetime使用指南

0. 引入模塊 import datetime 1. 獲取當前時間 now = datetime.datetime.now() print(now) today = datetime.date.today() print('tod

原创 PyMySQL使用指南

0. 引用P有MySQL import mysql 1. 創建connection和cursor對象 connection = pymysql.connect(host='localhost',

原创 LeetCode----18. 4Sum

題目 給出一個數組和一個目標值,找出4個元素,使得它們的和爲目標值。找出所有滿足該條件的四元組。 Python題解 class Solution: def fourSum(self,nums, target):

原创 LeetCode---33. Search in Rotated Sorted Array

題目 給出一個遞增有序數組,以某個元素爲準旋轉,如[0,1,2,4,5,6,7]變成了[4,5,6,7,0,1,2]。另給出一個目標值,在這個數組中尋找,如果找到返回index,否則返回-1。數組中沒有重複元素,你的算法時間複雜度

原创 LeetCode---39. Combination Sum

題目 給出一個數組,沒有重複元素,另給出一個目標值,找出所有的組合,組合的和爲目標值。注意:相同的元素可以重複無限次。 Python題解 class Solution(object): def combinationSum

原创 LeetCode---437. Path Sum III

題目 給出一個二叉樹和一個目標值值,找到所有的路徑,該路徑上的節點數值和爲目標值。路徑不一定非要用根節點開始。舉個例子: root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

原创 LeetCode---90. Subsets II

題目 給出一個數組,裏面可能包含重複元素,返回所有的子數組。注意:不能包含重複的子數組。 Python題解 class Solution(object): def subsetsWithDup(self, nums):

原创 LeetCode---56. Merge Intervals

題目 給出一個間隔的數組,合併所有重疊的間隔。如: Example 1: Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Example 2

原创 Git分支模型和開發規範

1.分支管理 1.1 總覽 從上圖可以看到主要包含下面幾個分支: master: 主分支,主要用來版本發佈。 develop:日常開發分支,該分支正常保存了開發的最新代碼。 feature:從develop分支fork,合併

原创 二叉搜索樹轉換成雙向鏈表

題目 給出一個二叉搜索樹,將其轉換成雙向鏈表。 Python題解 class Solution(object): def __init__(self): self.last_node_in_list = N

原创 LeetCode---16. 3Sum Closest

題目 給出一個數組和一個目標值,找出三個數,使得其和和目標值最接近。假設數組中只有一個結果滿足該條件。 Python題解 class Solution(object): def threeSumClosest(self,

原创 Java使用wait和notify實現生產者和消費者

1. 使用注意事項 永遠在synchronized的函數或對象裏使用wait、notify和notifyAll,不然Java虛擬機會生成IllegalMonitorStateException。 永遠在while循環裏而不是if