У нас вы можете посмотреть бесплатно Как найти контейнер с максимальной водой? LeetCode 11 на Go (Two Pointers) или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
В этом видео разбираем задачу LeetCode 11 “Container With Most Water”. Дана высота вертикальных линий height[i], нужно выбрать две линии так, чтобы вместе с осью X они образовали контейнер, в котором поместится максимально возможный объем воды. Наивный перебор всех пар даёт сложность O(N²), но есть аккуратное решение за O(N) с помощью техники двух указателей (Two Pointers). Идея алгоритма: Ставим левый указатель в начало массива, правый — в конец. Это даёт максимальную ширину контейнера. На каждом шаге считаем площадь area = (right - left) * min(height[left], height[right]) и обновляем максимум. Двигаем ту стенку, которая ниже, потому что именно она ограничивает высоту воды. Сдвиг более высокой стенки не может увеличить площадь: ширина уменьшится, а высота всё равно ограничена меньшей стенкой. Повторяем, пока указатели не встретятся. Разбираем на примере height = [1,8,6,2,5,4,8,3,7], где оптимальный ответ — 49. В видео: Интуитивное объяснение, почему жадная стратегия “двигать меньшую стенку” всегда корректна. Пошаговый разбор примеров и визуализация изменения площади. Реализация на Go с линейной сложностью и O(1) по памяти.