Techniques that apply to arrays and strings: two pointers, monotonic stack, sliding window, prefix sums.