Tricks: two pointers: same direction, opposite directions, fixed width sliding window hash table in-place array operations → save space: two pointer, “mark” array (easy), inplace-marking(intermediate)