原创 算法訓練: Construct Binary Tree from Preorder and Inorder Traversal
題目鏈接: https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/#/descriptionz 題目描述: 給定一棵
原创 算法訓練: Restore IP Addresses
題目鏈接:https://leetcode.com/problems/restore-ip-addresses/?tab=Description 題目描述: 給一個只包含數字的字符串,要求返回所有合法的IP地址。
原创 算法訓練:Binary Tree Level Order Traversal
題目鏈接: https://leetcode.com/problems/binary-tree-level-order-traversal/#/description 題目描述: 給定一棵二叉樹,要求返回每層節點的值
原创 算法訓練:Path Sum II
題目鏈接:https://leetcode.com/problems/path-sum-ii/#/description 題目描述: 給定一個二叉樹和一個總和,找到所有根到葉子的路徑,每條路徑的總和等於給定的和。 例如
原创 算法訓練:Remove K Digits
題目鏈接:https://leetcode.com/problems/remove-k-digits/#/description 題目描述: 給定一個包含非負整數的字符串,移除其中的k個數,使得剩下的數字是最小的。
原创 算法練習:Add Two Numbers
題目鏈接:https://leetcode.com/problems/add-two-numbers/?tab=Description 問題描述: 給定兩個非空鏈表,鏈表中的值均爲非負數,數字以相反的順序存儲,每個節點包含一個位
原创 算法訓練: Kth Largest Element in an Array
題目鏈接:https://leetcode.com/problems/kth-largest-element-in-an-array/?tab=Description 問題描述: 查找一個無序數組中的第K個最大的數。例如:[3,
原创 算法訓練:Minimum Path Sum
題目鏈接:https://leetcode.com/problems/minimum-path-sum/#/description 題目描述: 給定一個全爲正整數的 m X n 的矩陣, 取一條從左上爲起點, 走到右下
原创 算法訓練:String to Integer (atoi)
題目鏈接:https://leetcode.com/problems/string-to-integer-atoi/?tab=Description 問題描述: 自己實現一個atio函數(字符串轉爲整型)。 解題思路:
原创 《代碼整潔之道》(13)併發編程
“對象是過程的抽象,線程時調度的抽象。”——James O Coplien爲什麼要併發? 併發是一種解耦策略。它幫助我們把做什麼(目的)和何時(時機)做分解開。解耦的目的和時機能明顯地改進應用程序的吞吐量和結構。從結構角度來看,應用程
原创 算法練習:Maximal Square
題目鏈接:https://leetcode.com/problems/maximal-square/#/description 題目描述: 給定一個只含'0'和'1'的二維矩陣,要求找出其中只包含1的最大的正方形並返回其面積。
原创 算法訓練:Binary Tree Maximum Path Sum
題目鏈接:https://leetcode.com/problems/binary-tree-maximum-path-sum/#/description 題目描述: 給定一棵二叉樹,求其最大路徑和。 這裏的路徑可以是從任何
原创 《代碼整潔之道》(9)單元測試
TDD三定律: 定律一:在編寫不能通過的單元測試前,不可編寫生產代碼。 定律二:只可編寫放好無法通過的單元測試,不能編譯也不算通過。 定律三:只可編寫剛好足以通過當前失敗測試的生產代碼。保持測試整潔: (1)髒測試=沒測試 (2
原创 《代碼整潔之道》(1)整潔代碼
要有代碼 代碼呈現了需求的細節,永遠無法被拋棄。糟糕的代碼 勒布朗(LeBlanc)法則:稍後等於永不(Later equals never)。不要說回頭再清理,最好一次性就寫好。混亂的代價 隨着混亂的
原创 《代碼整潔之道》(11)系統
“複雜要人命。它小莫開發者的生命,讓產品難以規劃、構建和測試。”—— Ray Ozzie 整潔的代碼可以幫助開發團隊在較低層的抽象層級上達成這一目標。 本節是關於如何保持較高層級——系統層級——上保持整潔。將系統的構造和使用分開: