Classic

5. Longest Palindromic Substring

5. Longest Palindromic Substring 這一題是我們要找出子字串中的最長的回文,其實最好從暴力解法開始學習起,前面的題目已經重複提過了好多次的回文的性質,這裡就用暴力法先來思考以下。 暴力法 (TLE)

435. Non-overlapping Intervals

435. Non-overlapping Intervals 這一題比前面的系列題目還稍難一點,但是思維很像一樣需要先將時間區間排序好,接著的目標是要找到移除幾個區間才能讓所有的會議都沒有重複的時間,這一題不能先把可以合併的時間都合併起來,因為當我們都合併起來之後,就會找不到到底哪一個需要被合併。 當所有的區間都按照順序排好後,

989. Add to Array-Form of Integer

989. Add to Array-Form of Integer class Solution: def addToArrayForm(

121. Best Time to Buy and Sell Stock

121. Best Time to Buy and Sell Stock 這個題目算是面試的高頻題目,因為一個題目可以不斷的延伸,

146. LRU Cache

146. LRU Cache LRU Cache 這是一題經典題型,完全沒有概念的讀者我會建議一開始直接先看解答,懂概念後再做也沒關係的題目,因為這道題目的原理並不難,不如先把所有的東西都先搞定,

138. Copy List with Random Pointer

138. Copy List with Random Pointer 這一題更能顯現為什麼 Hash Table 是一個非常好用的查找工具,

300. Longest Increasing Subsequence

300. Longest Increasing Subsequence 這一個題目是比較容易用直覺判斷出是動態規劃的題目,難的地方是這個題目的動態轉移方程式,這一個題目,如果要想到動態轉移方程式的話,那就是我們在第 i

354. Russian Doll Envelopes

354. Russian Doll Envelopes 這一題難度困難,最終的解法不難,難點是需要一點小技巧,跟怎麼推敲出題目的核心。 題目是我們有多封信封,長寬不一,

15. 3 Sum

15. 3 Sum 於是這樣就可以開始擴展當 n > 2 的時候, 該怎麼辦呢? * 當

259. 3Sum Smaller

259. 3Sum Smaller class Solution: def threeSumSmaller(self, nums: List[