[Leetcode] 11. Container With Most Water
Problem

위 그림과 같이 두 막대를 기준으로 물을 최대로 채웠을때 가장 너비가 큰 값을 찾아라.
Solution
- 왼쪽 인덱스와 오른쪽 인덱스를 이용해서 두 값중 작은 높이를 가지고있는 값을 높이로 잡는다
- 물을 채운 너비의 최고값을 저장한다.
- 작은 사이즈의 높이를 가지고있는 인덱스를 이동한다. 1~2번 행동을 반복한다.
JS CODE
javascript
/**
* @param {number[]} heights
* @return {number}
*/
var maxArea = function(heights) {
let max = 0, left = 0, right = heights.length-1
while (left < right) {
const h = Math.min(heights[left], heights[right])
const w = right - left
heights[left] < heights[right] ? left++ : right--
max = Math.max(max, h * w)
}
return max
}