双重嵌套让每个区间都计算出来
for(int i = j){
for(int j = i + 1){
int v = (j- i) * min(height[i], height[j]);
val = max(v,val);
}
}
2.双指针
height[left] >= height[right] 同理
cpp复制代码
int maxArea(vector<int>& height) {
int left = 0, right = height.size() - 1;
int val = -1;
while (left < right) {
int v = (right - left) * min(height[left], height[right]);
if (height[left] < height[right]) {
++left;
} else {
--right;
}
val = max(v, val);
}
return val;
}