11 Container With Most Water
Given n
non-negative integers a1,a2, ...,an
, where each represents a point at coordinate (i,ai)
. n
vertical lines are drawn such that the two endpoints of line i
is at (i,ai)
and (i, 0)
. Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container and n is at least 2.
The Idea: Apply a greedy approach. Being with the widest lines (start and end) to first optimize the width. Then move left
or right
iterators, depending on whether or not it supports a height greater than the previous. In other words, ignore smaller heights until a larger one is found. An otherwise smaller height would be that the supported area will be smaller than the previous.
Complexity: O(n) time and O(1) space
Last updated