3Sum(3つの数の和)
3Sum(3つの数の和)とは
整数配列から、合計が0になる重複しない三つ組をすべて見つける課題です。
ソート後の順序を利用して、探索範囲を動かす考え方を学べます。
判断するときに確認すること
- 同じ三つ組を重複して返していないか
- ポインターを動かす条件が正しいか
- ソートの計算量を含めているか
具体例で整理する
避けたい判断
三重ループで全組合せを調べ、重複を後から複雑に除去する。
条件が分かる判断
固定値と左右の合計が小さければ左、大きければ右を動かす。
設計とレビューで使う
このページの推奨は次のとおりです。
配列をソートし、一つを固定して残りを左右のポインターで探索する。