面试手撕-双指针-Leetcode 11盛最多水的容器
1. 题目描述
示例描述
2. 解题思路
思考如何才能装更多的水?肯定是底越宽越好,最短的板高度越高越好,所以使用双指针分别从两边(最宽的距离)一步步寻找尽可能高的的板子
class Solution {
public:
int maxArea(vector<int>& height) {
int left = 0;
int right = height.size() -1;
int ans = 0;
while(left <right){
int tmp = (right - left) * min(height[left], height[right]);
if(tmp > ans)
ans = tmp;
if(height[left] <= height[right])
left++;
else right--;
}
return ans;
}
};