11. 盛最多水的容器

该题也是一道双指针的典型题目,需要注意的是 木桶效应。

根据木桶效应,短板决定了容器的高;如果使用暴力遍历的方法,一个短板进行的循环是没有意义的。需要避开对短板的循环,来提升效率。

本题的双指针开始的时候应放在数组的两端,这样开始拥有最大的宽度。每一次的缩短宽度都是在摸索是否存在最大的短板能够比初始来的大。

左右指针进行比较,谁小,谁就往中间移动。

class Solution {
public:
    int maxArea(vector& height) {
        //双指针,一个在左端,一个在右端
        int l = 0, r = height.size() - 1;
        int ans = 0;
        //循环,直到两个指针碰面为止
        while (l

你可能感兴趣的:(LeetCode,热题,100,算法,leetcode)