方法:双指针
用双指针遍历数组中的元素,通过数组中元素值的大小确定双指针的移动规则。
C++实现:
class Solution {
public:
int maxArea(vector<int>& height) {//height为输入数组,返回值类型int;
//定义返回变量
int res = 0;
//定义双指针,初始值分别表示数组height第一个数和最后一个数的索引
int begin = 0;
int end = height.size()-1;
while(begin<end){
//初始化res
res = max( res,(end-begin) * min(height[begin],height[end]) );
//通过更新双指针更新res
//双指针的移动规则
if (height[begin]<height[end]){
begin++;
}
else{
end--;
}
}
return res;
}
};