原创 [LintCode 102] 帶環鏈表(Python)

題目描述 給定一個鏈表,判斷它是否有環。 樣例 給出 -21->10->4->5, tail connects to node index 1,返回 true 思路 快慢針。快針每次都兩步,慢針每次走一步。如果無環,快針肯定會率

原创 [LeetCode 97] Interleaving String(Python)

題目描述 Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 =

原创 [LintCode 57] 三數之和(Python)

題目描述 給出一個有n個整數的數組S,在S中找到三個整數a, b, c,找到所有使得a + b + c = 0的三元組。 注意事項 在三元組(a, b, c),要求a <= b <= c。 結果不能包含重複的三元組。 樣例

原创 [LintCode 109] 數字三角形(Python)

題目描述 給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。 注意事項 如果你只用額外空間複雜度O(n)的條件下完成可以獲得加分,其中n是數字三角形的總行數。 樣例 比如,給出下列數字三角

原创 [LintCode 514] 柵欄染色(Python)

題目描述 我們有一個柵欄,它有n個柱子,現在要給柱子染色,有k種顏色可以染。 必須保證不存在超過2個相鄰的柱子顏色相同,求有多少種染色方案。(n和k都是非負整數) 樣例 n = 3, k = 2, return 6

原创 [LintCode 12] 帶最小值操作的棧(Python)

題目描述 實現一個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。 你實現的棧將支持push,pop 和 min 操作,所有操作要求都在O(1)時間內完成。 注意事項 如果堆棧中沒有數字則不能進行min方法的調用

原创 Python列表排序函數

sort函數 原地排序,直接改變輸入的列表,而無返回值。 x = [2, 1, 3] x.sort() print x # output: [1, 2, 3] print x.sort() # output: None 若要實現賦

原创 [LintCode 197] 排列序號(Python)

題目描述 給出一個不含重複數字的排列,求這些數字的所有排列按字典序排序後該排列的編號。其中,編號從1開始。 樣例 例如,排列 [1,2,4] 是第 1 個排列。 思路 例如排序[1, 4, 2]。 1的後面有 2! 種排列;

原创 [LintCode 177] 把排序數組轉換爲高度最小的二叉搜索樹(Python)

題目描述 給一個排序數組(從小到大),將其轉換爲一棵高度最小的排序二叉樹。 注意事項 There may exist multiple valid solutions, return any of them. 樣例 給出數組

原创 [排序] 歸併排序(Python)

思想 歸併排序就是利用分治思想,合——分——合,把兩個有序的子數組合併爲一個有序數組,合併的策略就是比較兩個子數組中還未參與排序部分的頭元素,把較小的元素加進來。歸併排序是穩定的排序。 示例 對序列[7,6,4,3,1,2,8,5

原创 [LeetCode 415] Add Strings(Python)

題目描述 Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2. Note:

原创 [LintCode 419] 羅馬數字轉整數(Python)

題目描述 給定一個羅馬數字,將其轉換成整數。 返回的結果要求在1到3999的範圍內。 說明 什麼是 羅馬數字? https://en.wikipedia.org/wiki/Roman_numerals https

原创 [LintCode 384] 最長無重複字符的子串(Python)

題目描述 給定一個字符串,請找出其中無重複字符的最長子字符串。 樣例 例如,在”abcabcbb”中,其無重複字符的最長子字符串是”abc”,其長度爲 3。 對於,”bbbbb”,其無重複字符的最長子字符串爲”b”,長度爲1。

原创 [LintCode 539] 移動零(Python)

題目描述 給一個數組 nums 寫一個函數將 0 移動到數組的最後面,非零元素保持原數組的順序 注意事項 1.必須在原數組上操作 2.最小化操作數 樣例 給出 nums = [0, 1, 0, 3, 12

原创 [LintCode 433] 島嶼的個數(Python)

題目描述 給一個01矩陣,求不同的島嶼的個數。 0代表海,1代表島,如果兩個1相鄰,那麼這兩個1屬於同一個島。我們只考慮上下左右爲相鄰。 樣例 在矩陣: [ [1, 1, 0, 0, 0],