# 盛最多水的容器

<p>给你 <code>n</code> 个非负整数 <code>a<sub>1</sub>，a<sub>2，</sub>...，a</code><sub><code>n</code>，</sub>每个数代表坐标中的一个点 <code>(i, a<sub>i</sub>)</code> 。在坐标内画 <code>n</code> 条垂直线，垂直线 <code>i</code> 的两个端点分别为 <code>(i, a<sub>i</sub>)</code> 和 <code>(i, 0)</code> 。找出其中的两条线，使得它们与 <code>x</code> 轴共同构成的容器可以容纳最多的水。</p><p><strong>说明：</strong>你不能倾斜容器。</p><p> </p><p><strong>示例 1：</strong></p><p><img alt="" src="https://img-service.csdnimg.cn/img_convert/68b73af992268f52fa1d1edf7891fcc2.jpeg" style="height: 287px; width: 600px;" /></p><pre><strong>输入：</strong>[1,8,6,2,5,4,8,3,7]<strong><br />输出：</strong>49 <strong><br />解释：</strong>图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容器能够容纳水（表示为蓝色部分）的最大值为 49。</pre><p><strong>示例 2：</strong></p><pre><strong>输入：</strong>height = [1,1]<strong><br />输出：</strong>1</pre><p><strong>示例 3：</strong></p><pre><strong>输入：</strong>height = [4,3,2,1,4]<strong><br />输出：</strong>16</pre><p><strong>示例 4：</strong></p><pre><strong>输入：</strong>height = [1,2,1]<strong><br />输出：</strong>2</pre><p> </p><p><strong>提示：</strong></p><ul>	<li><code>n = height.length</code></li>	<li><code>2 <= n <= 3 * 10<sup>4</sup></code></li>	<li><code>0 <= height[i] <= 3 * 10<sup>4</sup></code></li></ul>

以下程序实现了这一功能，请你填补空白处内容：

```cpp
class Solution
{
public:
    int maxArea(vector<int> &height)
    {
        int ret = 0;
        int temp;
        for (int i = 0, j = height.size() - 1; i < j;)
        {
            temp = min(height[i], height[j]) * (j - i);
            ______________________;
        }
        return ret;
    }
};
```

## template

```cpp
class Solution
{
public:
    int maxArea(vector<int> &height)
    {
        int ret = 0;
        int temp;
        for (int i = 0, j = height.size() - 1; i < j;)
        {
            temp = min(height[i], height[j]) * (j - i);
            ret = ret > temp ? ret : temp;
            if (height[i] > height[j])
                j--;
            else
                i++;
        }
        return ret;
    }
};
```

## 答案

```cpp
ret = ret > temp ? ret : temp;
if (height[i] > height[j])
	j--;
else
	i++;
```

## 选项

### A

```cpp
ret = ret > temp ? ret : temp;
if (height[i] < height[j])
	j--;
else
	i++;
```

### B

```cpp
ret = ret > temp ? temp : ret;
if (height[i] < height[j])
	j--;
else
	i++;
```

### C

```cpp
ret = ret > temp ? temp : ret;
if (height[i] < height[j])
	i++;
else
	j--;
```