leetcode是經同學介紹的**,據說有很大一部分演算法面試題都在leetcode的題庫中,甚至是完全一樣,既然想好要學點什麼就要一點點慢慢的啃吧。題目涉及別家**版權,就不在這裡說什麼了,本來還想每日一刷讓大家幫忙做個監督,估計不太合適了。
為了更好的自己,加油!
用了三天左右空餘時間,把sql簡單刷了一遍,歸納一下。
使用到的大部分是left join、inner join、group by、order by、count,偶爾使用了一點limit
大部分操作都是通過關聯子表、where語句條件限定、
第幾大型:如:第二高薪資,子表、limit等操作實現
查重複型:如:重複郵箱,group by,count()資料,子表關聯查詢
行間比較型:如:比昨天資料大,inner join + 行間特性(如一天一條、id遞增等)+ 資料比較
分組topn型:如:每班前三名、前三成績等,inner join + top、count + where條件分組限定 + order by
行間交換型:更新操作,if、case、when等條件判斷
陣列——兩數之和:hashmap便於查詢,減小時間複雜度。
字串反**char遍歷,棧操作。
回文字:一分為2,遍歷一半。
面試總結 演算法相關
設定雙指標,間距為k,順序後移,當right至末尾,left指向倒數第k個元素。使用快慢指標的方法,一定步數後,兩個指標會相遇。思路,建乙個棧存放單鏈表的偶數字。採用歸併方法,合併兩個有序集合。棧 單鏈表奇數字 設定兩個陣列,第乙個陣列a1放置26個字母。a1 a b z 第二個陣列a2放置a1的個...
LeetCode習題總結 演算法(5)
首先先上原題 通過給定對應七種羅馬數字對應的七種字元 i,v,x,l,c,d 和 m 以及對應七種字元所對應的數值 i 1,v 5,x 10,l 50,c 100,d 500,m 1000。去求解在給定乙個羅馬字串時,對應的羅馬數字表示為多少。思路 基於此題目,我們可以發現對應的羅馬字元和羅馬數字之...
LeetCode習題總結 演算法(10)
首先先上原題 拿到這道題,我們採取以下的思想來處理這個問題 1 是否特定的子串在正串中存在?2 如果不存在,我們應該返回什麼樣的數值?3 如果存在,我們該怎樣找尋子串在正串中第一次出現的位置?當我們拿到這道題時,如果能把以下幾道題能夠思考明白,想必這道題的難度係數也不會太大。那我們以此來思考上述的幾...