[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
}