Question

You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]).

Find two lines that together with the x-axis form a container, such that the container contains the most water.

Return the maximum amount of water a container can store.

Notice that you may not slant the container.

This is atwo_pointers question.

Idea

  • Initialize two pointers at the ends of the list (this gives max width)
  • Compute area
  • Update res with max of new area and res
  • Move the pointer whose height is smaller closer to the middle
  • Return res

Solution