18. 4Sum

Leetcode 幾個數字題,15、16、18,基本上套路都是一樣的(甚至可以預期可能還會出 5 Sum…),整體的解法都差不多,可以一起複習,重點仍然是 :

  1. 排序 array
  2. 避免的重複項

以 3Sum 此基礎上,再加了一個循環而已。

Continue reading

15. 3Sum

是 Two Sum 的一種另類進階,從 nums 中找出和為 0 的三個 element ,並組成 List of list 。特別注意,不能有兩個內容一樣的 list。因為整個題目並沒有對 numsindex 有任何要求,故可以把 nums 排序,為解題拓開另一種思路。

Continue reading

16. 3Sum Closest

這題跟 15 題相似,又增加了些許難度。題目敘述一樣也很簡單 : 求 nums 內最接近 target 值的三數和。優化關鍵點一樣是,把 nums 排序,這樣就可以確定指針滑動方向。

Continue reading

這道題要我們從有序數組中去除重複項,題目難度雖然被歸為 easy 等級,但在條件限制上的討論,蠻多東西可以釐清討論的。 英文方面寫得蠻長,記得要看到最後因為有寫一些限制如 :

  • O(1) extra memory
  • The relative order of the elements should be kept the same.

所以不能用 Set 或另開 array 去寫。另外也花了些篇幅去說明,只要原 array 前面長度部分內,有把所有不重複數字列出來就好,不需要在意後面 array 的元素和 array 的長度。

Continue reading

前面有介紹用 dp 方式把這題給解了,但看一下 Related Topics 發現也可以用 Binary Search 求解,上網參考大神們的解法,感覺特別巧妙。因為這題可用 dp 和 Binary Search,也變成是一道高頻難題。 這邊記錄一下大神們的想法。

Continue reading

這題真的蠻難的,一開始看題目我也覺得很繞口,給了一個非負數的 nums 和一個 m 代表把 nums 分成 m 個 group 且 每個 group non-empty 並取 m 個 group 中的最大值。但注意,前面只是代表一種切法而已,我們是要找所有可能切法之中的最小值。看一下 Related Topics 發現可以用 Binary Search 和 DP 求解,也是一道高頻題目。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan