리트코드 - #11 Container With Most Water (Medium)
var maxArea = function(height) {
let result = 0;
for (let i = 0; i < height.length; i++) {
if (result > height[i] * (height.length-1-i)) continue;
for (let j = i+1; j < height.length; j++) {
var temp = (j - i) * Math.min(height[i], height[j]);
result = Math.max(temp, result);
}
}
return result;
};
var maxArea = function(height) {
let left = 0;
let right = height.length-1;
let result = 0;
while (left < right) {
result = Math.max(result, (right - left) * Math.min(height[left], height[right]));
if (height[left] < height[right]) left++; else right--;
}
return result;
};
일단 코드1은 내가 직접 생각해서 작성한 코드이고, 시간 효율성이 떨어져서 타인의 코드를 참고해서 다시 푼 것이 코드2이다.
이런 그래프 문제를 어려워하는데, 이렇게도 풀 수 있다는 것을 알게 되었고, 나중에 다시 꼭 풀어볼 예정임