LeetCode:5.盛最多水的容器
·
目录
1.盛最多水的容器

这道题可以通过双指针来解决,我们分别用left和right来指向左右的起始位置,计算出当前的数值,同时移动left和right值较小的那一个,正如木桶原理,能接水的多少是由短的那一块木板决定的,所以我们通过移动较小值来不断更新,直到取到最大值
class Solution {
public:
int maxArea(vector<int>& height) {
int area = 0;
int left = 0, right = height.size() - 1;
while(left < right)
{
int sum = min(height[left], height[right]) * (right - left);
if(height[left] < height[right])
++left;
else
--right;
area = max(sum, area);
}
return area;
}
};
更多推荐



所有评论(0)