2025年5月27日 星期二

15. 3Sum

 15. 3Sum

難度: Medium
類型: Array, Two Pointers, Sorting
CPP程式下載: 15.cpp

前情題要:
任三個數字加起來等於0












思考方式:
1. Vector 先排序
2. 用 2Sum 的 left, right, 再加上最左邊的數字index i。
3. 找到對的組合時, 填進 Set。(Set 會判斷是否唯一)
4. 把 Set 用 Vector.assign(set.begin(), set.end()) 的方式轉成 Vector 再 return。
5. 雖然沒在前段班(50.95%花49ms), 但也相差不遠。就先優化到這就夠了。

複雜度思考:

Time Complexity: O( (N-2)*(N-2) ) 

Space Complexity: O( 1 )

結果:

Runtime: 107 ms, Beats: 21.32%

Memory: 34.62 MB, Beats: 22.29%