Контейнер с наибольшим количеством воды

Medium
Дан массив высот вертикальных линий на позициях 0..n−1. Выберите две линии так, чтобы контейнер с водой имел максимальную площадь: ширина = расстояние между индексами, высота = минимум двух высот.

высоты: 1 8 6 2 5 4 8 3 7
площадь между линиями = (j − i) × min(h[i], h[j])

Примеры:

Вход: [1, 8, 6, 2, 5, 4, 8, 3, 7]
Выход: 49
Объяснение: Пара индексов 1 и 8 (высоты 8 и 7): ширина 7, высота min(8,7)=7 → площадь 49 — максимум.
Вход: [1, 1]
Выход: 1
Объяснение: Единственная пара: индексы 0 и 1, высоты 1 и 1 → площадь 1×1 = 1.
Вход: [4, 3, 2, 1, 4]
Выход: 16
Объяснение: Крайние линии высоты 4 на расстоянии 4: 4×4 = 16; внутренние пары дают меньше.

Ограничения:

2 <= height.length <= 10^5 0 <= height[i] <= 10^4

Теги:

Часто на собесе Два указателя Массивы

Комментарии (0)

Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!