原创 LintCode-最大子數組差

給定一個整數數組,找出兩個不重疊的子數組A和B,使兩個子數組和的差的絕對值|SUM(A) - SUM(B)|最大。 返回這個最大的差值。 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出數組[1, 2, -3, 1],

原创 用python製造一條令人漲姿勢的貪喫蛇

之前看了一副大漲姿勢的貪喫蛇的圖,甚爲震精,可以再觀賞一下: 既然talk is cheap,show me the code ,我就按照http://hawstein.com/posts/snake-ai.html的教程寫了一個,當然

原创 LintCode-通配符匹配

判斷兩個可能包含通配符“?”和“*”的字符串是否匹配。匹配規則如下: '?' 可以匹配任何單個字符。 '*' 可以匹配任意字符串(包括空字符串)。 兩個串完全匹配纔算匹配成功。 函數接口如下: bool isMatch(const

原创 LintCode-編輯距離

給出兩個單詞word1和word2,計算出將word1 轉換爲word2的最少操作次數。 你總共三種操作方法: 插入一個字符刪除一個字符替換一個字符 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出 work1="m

原创 LintCode-分割回文串 II

給定一個字符串s,將s分割成一些子串,使每個子串都是迴文。 返回s符合要求的的最少分割次數。 您在真實的面試中是否遇到過這個題?  Yes 樣例 比如,給出字符串s = "aab", 返回 1, 因爲進行一次分割可以將字符串s

原创 LintCode-LRU緩存策略

爲最近最少使用(LRU)緩存策略設計一個數據結構,它應該支持以下操作:獲取數據(get)和寫入數據(set)。 獲取數據get(key):如果緩存中存在key,則獲取其數據值(通常是正數),否則返回-1。 寫入數據set(key, va

原创 LintCode-尋找峯值

你給出一個整數數組(size爲n),其具有以下特點: 相鄰位置的數字是不同的A[0] < A[1] 並且 A[n - 2] > A[n - 1]假定P是峯值的位置則滿足A[P] > A[P-1]且A[P] > A[P+1],返回數組中

原创 LintCode-帶環鏈表 II

給定一個鏈表,如果鏈表中存在環,則返回到鏈表中環的起始節點的值,如果沒有環,返回null。 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出 -21->10->4->5, tail connects to node i

原创 LintCode-最長公共子串

給出兩個字符串,找到最長公共子串,並返回其長度。 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出A=“ABCD”,B=“CBCE”,返回 2 注意 子串的字符應該連續的出現在原字符串中,這與子序列有所不同。

原创 LintCode-硬幣排成線

有 n 個硬幣排成一條線。兩個參賽者輪流從右邊依次拿走 1 或 2 個硬幣,直到沒有硬幣爲止。拿到最後一枚硬幣的人獲勝。 請判定 第一個玩家 是輸還是贏? 您在真實的面試中是否遇到過這個題?  Yes 樣例 n = 1, 返

原创 LintCode-旋轉鏈表

給定一個鏈表,旋轉鏈表,使得每個節點向右移動k個位置,其中k是一個非負數 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出鏈表1->2->3->4->5->null和k=2 返回4->5->1->2->3->null

原创 LintCode-搜索旋轉排序數組 II

跟進“搜索旋轉排序數組”,假如有重複元素又將如何? 是否會影響運行時間複雜度? 如何影響? 爲何會影響? 寫出一個函數判斷給定的目標值是否出現在數組中。 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出[3,4,4,5

原创 LintCode-k數和

給定n個不同的正整數,整數k(k < = n)以及一個目標數字。     在這n個數裏面找出K個數,使得這K個數的和等於目標數字,求問有多少種方案? 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出[1,2,3,4],

原创 LintCode-最長公共前綴

給k個字符串,求出他們的最長公共前綴(LCP) 您在真實的面試中是否遇到過這個題?  Yes 樣例 在 "ABCD" "ABEF" 和 "ACEF" 中,  LCP 爲 "A" 在 "ABCDEFG", "ABCEFG", "

原创 LintCode-刪除排序鏈表中的重複數字 II

給定一個排序鏈表,刪除所有重複的元素只留下原鏈表中沒有重複的元素。 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出1->2->3->3->4->4->5->null,返回1->2->5->null 給出1->1-