AC代碼
public class Solution {
public int maxArea(int[] height) {
if(height == null || height.length == 0) {
return Integer.MIN_VALUE;
}
int left = 0;
int right = height.length - 1;
int maxArea = Integer.MIN_VALUE;
while(left < right) {
int tmp = (right - left) * (height[left] < height[right] ? height[left] : height[right]);
if(tmp > maxArea) {
maxArea = tmp;
}
if(height[left] < height[right]) {
left++;
}else {
right--;
}
}
return maxArea;
}
}
精髓:
- 雙指針
- 短板效應(yīng)扫责,比如看左指針榛鼎,如果左指針的值比右指針的值小,說明當(dāng)前左指針是短板,必須向右移動者娱,如果不移動總面積不可能變大抡笼,因為就算右指針移動了,高度還是取左指針的值黄鳍。