int maxArea(vector<int>& height) {
// write code here
if(height.size() < 2)
return 0;
int res = 0; //很精妙,临时存大值,除非你比我大,否则不更新
int left = 0;
int right = height.size() - 1;
while(left < right)
{
//先算高度最小值,再相乘他们下标差
int capacity = min(height[left], height[right]) * (right - left);
res = max(res, capacity);
//舍弃低的一边
if(height[left] < height[right])
left++;
else
right--;
}
return res;
}
刷题——盛水最多的容器
最新推荐文章于 2024-09-26 09:13:29 发布