Загрузка данных


class Solution:                                              # Класс-обёртка для LeetCode
    def maxArea(self, height: list[int]) -> int:             # Метод: на вход список высот, на выход площадь
        result = 0                                           # Текущий максимум площади, стартуем с 0

        left = 0                                             # Левый указатель — на первую линию
        right = len(height) - 1                              # Правый указатель — на последнюю линию

        while left < right:                                  # Пока указатели не встретились
            area = (right - left) * min(height[left], height[right])
                                                             # Площадь = ширина × меньшая высота
            result = max(result, area)                       # Обновляем максимум, если площадь больше

            if height[left] < height[right]:                 # Если левая линия ниже правой...
                left += 1                                    # ...двигаем левый указатель вправо
            else:                                            # Иначе (правая ниже или равна)...
                right -= 1                                   # ...двигаем правый указатель влево

        return result                                        # Возвращаем наибольшую найденную площадь