题目链接:https://leetcode.com/problems/container-with-most-water/
题意:选择两个垂直线,组成容器,求最大容积
思路:维护左右两个指针,初始为两端,每次选择小的一端往另一端更新(因为容积取决于较小端的高度,所以当前是较小端的最大容积)
代码:
class Solution {
public:
int maxArea(vector<int>& height) {
int ans=0;
int l=0,r=height.size()-1;
while(l<r)
{
ans=max(ans,min(height[l],height[r])*(r-l));
if(height[l]<=height[r])
l++;
else
r--;
}
return ans;
}
};