Two Pointers («два указателя»)
Это техника решения задач, где по структуре данных (обычно массиву или строке) одновременно двигаются два индекса. Это про наличие двух […]
Это техника решения задач, где по структуре данных (обычно массиву или строке) одновременно двигаются два индекса. Это про наличие двух […]
У отсортированного массива главное свойство такое: порядок элементов уже несёт информацию. Например: nums = [1, 2, 3, 4, 6, 8]
Sorting + scan — это типовой алгоритмический приём: сначала сортируем данные, а потом одним линейным проходом по отсортированному массиву что-то
Sliding window — это «скользящее окно»: приём, когда ты смотришь не на все данные сразу, а на ограниченный кусок, который
Линейное (или векторное) пространство — это математическая структура, состоящая из множества элементов (называемых векторами), для которых определены две операции: сложение
Prefix sum — это массив накопленных сумм. То есть вместо того, чтобы каждый раз заново считать сумму на отрезке, мы
Intervals — это интервалы, то есть отрезки / промежутки / диапазоны. В алгоритмах interval обычно означает пару: (start, end) То
In-place modification — это когда ты меняешь уже существующую структуру данных на месте, а не создаёшь новую копию. То есть
Difference array — это почти обратная идея к prefix sum. Если prefix sum отвечает на вопрос: «Какая накопленная сумма получилась