本文是基本常见的双指针题解

一、双指针简介

二、双指针题解

11. 盛最多水的容器

看的教程是这个

【盛最多水的容器 接雨水【基础算法精讲 02】】 https://www.bilibili.com/video/BV1Qg411q7ia/?share_source=copy_web&vd_source=423f876c33c4e702693ed0518402c4ff

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public:
int maxArea(vector<int>& height) {
// 三个int类型的都要赋初始值. 尤其是ans初始值为0
// 因为ans返回值一定是正数, 所以在max函数里面不会影响判断
int ans = 0, l = 0, r = height.size() - 1;
while(l < r){
int area = (r - l) * min(height[l], height[r]);
ans = max(ans, area);
height[l] < height[r] ? l ++ : r --;
}
return ans;
}
};

待更新……