[JAVA/LeetCode] Top 100 Liked Question: 11. Container With Most Water

👀 문제

https://leetcode.com/problems/container-with-most-water/

👊 도전

1. 설계

  1. 양 끝에 l, r을 두고, 범위를 좁혀가며 넓이를 구한다.

2. 구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 *
 * @author HEESOO
 *
 */
class Solution {
    public int maxArea(int[] height) {
        int max=0;
        int l=0, r=height.length-1;
        while(l<r){
            max=Math.max(max, (r-l)*Math.min(height[l], height[r]));
            if(height[l]<height[r]) l++;
            else r--;
        }
        
        return max;
    }
}

3. 결과

실행결과 🤟 성공 🤟

4. 설명

  1. 양쪽 끝에 인덱스 l, r을 두고 넓이를 구한다
    • 넓이= l, r중 최소 높이 * 인덱스 차이
    • 최소 높이를 사용했으면 그 다음 또는 이전으로 이동한다.

👏 해결 완료!