Meet in the Middle 將陣列分成兩半,分別列舉所有子集的和,然後用排序 + 二分搜尋(或雙指針)合併結果。
時間複雜度從 O(2^n) 降低到 O(2^(n/2) * log(2^(n/2))) = O(n * 2^(n/2))。