原创 SQL--leetcode196. 刪除重複的電子郵箱

編寫一個 SQL 查詢,來刪除 Person 表中所有重複的電子郵箱,重複的郵箱裏只保留 Id 最小 的那個。 +----+------------------+ | Id | Email | +----+----

原创 SQL--leetcode596. 超過5名學生的課

有一個courses 表 ,有: student (學生) 和 class (課程)。 請列出所有超過或等於5名學生的課。 例如,表: +---------+------------+ | student | class |

原创 python--lintcode141.x的平方根

描述 實現 int sqrt(int x) 函數,計算並返回 x 的平方根。 您在真實的面試中是否遇到過這個題?  是 樣例 sqrt(3) = 1 sqrt(4) = 2 sqrt(5) = 2 sqrt(10) = 3 挑戰 O(lo

原创 python--二叉樹及其七種遍歷方式(遞歸+非遞歸)

對於找工作的兄弟來說,構建二叉樹和七種遍歷方式肯定是要求能手寫的,無需解釋。 直接上代碼吧,註釋裏什麼都有: class Node(): # 節點類 def __init__(self, data=-1):

原创 python--lintcode12.帶最小值操作的棧

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

原创 python--查找數組第K大的數

這個問題應該是比較經典的,要求能在時間複雜度O(n)解決。 最暴力的方法當然是先排個序,時間複雜度是O(nlogn),但是這樣浪費了很多不必要的計算。 O(n)的算法思想借鑑了快排的思想: 快速排序每次把一個元素交換到正確的位置,同時把左

原创 python--lintcode392.打劫房屋

描述 假設你是一個專業的竊賊,準備沿着一條街打劫房屋。每個房子都存放着特定金額的錢。你面臨的唯一約束條件是:相鄰的房子裝着相互聯繫的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。 給定一個非負整數列表,表示每個房子中存放

原创 python--lintcode381.螺旋矩陣ii

描述 給你一個數n生成一個包含1-n^2的螺旋形矩陣 您在真實的面試中是否遇到過這個題?  是 樣例 n = 3 矩陣爲 [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 這一題不是很難,四

原创 python--lintcode77.最長公共子序列

描述 給出兩個字符串,找到最長公共子序列(LCS),返回LCS的長度。       您在真實的面試中是否遇到過這個題?  是 說明 最長公共子序列的定義: 最長公共子序列問題是在一組序列(通常2個)中找到最長公共子序列(注意:不同於子串,

原创 python--lintcode114.不同的路徑II

描述 "不同的路徑" 的跟進問題: 現在考慮網格中有障礙物,那樣將會有多少條不同的路徑? 網格中的障礙和空位置分別用 1 和 0 來表示。 m 和 n 均不超過100 您在真實的面試中是否遇到過這個題?  是 樣例 如下所示在3x3的網格

原创 python--lintcode.最大子數組差

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

原创 python--lintcode116.跳躍遊戲

描述 給出一個非負整數數組,你最初定位在數組的第一個位置。    數組中的每個元素代表你在那個位置可以跳躍的最大長度。     判斷你是否能到達數組的最後一個位置。 這個問題有兩個方法,一個是貪心和 動態規劃。 貪心方法時間複雜度爲O(N

原创 python--lintcode41.最大子數組

描述 給定一個整數數組,找到一個具有最大和的子數組,返回其最大和。 子數組最少包含一個數 您在真實的面試中是否遇到過這個題?  是 樣例 給出數組[−2,2,−3,4,−1,2,1,−5,3],符合要求的子數組爲[4,−1,2,1],其最

原创 python--lintcode191.乘積最大子序列

描述 找出一個序列中乘積最大的連續子序列(至少包含一個數)。 您在真實的面試中是否遇到過這個題?  是 樣例 比如, 序列 [2,3,-2,4] 中乘積最大的子序列爲 [2,3] ,其乘積爲6。   這一題和上一題不一樣,既要記錄最大值,

原创 python--lintcode79.最長公共子串

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