LeetCode 練習問題集
問題 | 難易度 | 難易度 | テクニック |
★★ | 高 | Two Pointers(逆方向) | |
★★ | 高 | Two Pointers(逆方向) | |
★★ | 高 | Two Pointers(同方向) | |
★★ | 高 | Two Pointers(同方向) | |
★★★ | 高 | Two Pointers(逆方向) | |
★★★ | 中 | Two Pointers(逆方向) | |
★★★ | 中 | Two Pointers(逆方向) |
- 同方向の二つのポインタ: 2つのポインタが同じ方向に移動します。一般に、一方のポインタ(slow)が他方のポインタ(fast)よりも遅く移動します。このテクニックは、リンクリストにおけるサイクルの検出や、配列における最大/最小の部分配列の計算など、多くの問題に使用されます。
- 逆方向の二つのポインタ: 一方のポインタが配列の先頭から始まり、他方のポインタが配列の末尾から始まり、それぞれ逆の方向に移動します。これは、配列がソートされている場合や、2つの要素のペアを見つける必要がある場合(例えば、2つの数の和が特定の値になるようなペア)などに特に有用です。