int[] height (length = n)
각 인덱스는 x축 위의 좌표를 나타내며,각 값은 해당 선의 높이를 의미한다.
이 중 두 개의 선을 선택해 만들 수 있는 최대 넓이를 구하는 문제이다.
넓이 = (right - left) × min(height[left], height[right])
그렇다면, 더 효율적으로 구할 수 있는 방법이 없을까?
class Solution {
public int maxArea(int[] height) {
int n = height.length;
int left = 0;
int right = n - 1;
int max = 0;
while (left != right) {
max = Math.max(max, Math.min(height[left], height[right]) * (right - left));
if (height[left] <= height[right]) {
left++;
} else {
right--;
}
}
return max;
}
}

while (left < right)이 더 명확하고, !=보다 안전하다.