opposite ends
RU: противоположные концы
A two-pointer pattern where one pointer starts at index 0 and the other at the last index, then they move toward each other based on a condition. On a sorted array, it finds pairs with a given sum in O(n) time without nested loops — moving the left pointer right increases the sum; moving the right pointer left decreases it.