,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。...来源:力扣(LeetCode)
示例:
输入:[1,8,6,2,5,4,8,3,7]
输出:49
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。...在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
思路与解答
这道题的是要找出最大的容器,最大的容器是怎么算的呢?...那我们先用两个索引,也就是双指针,分别从左右两边开始往中间遍历。这个时候,我们保证了一开始的长度就是最长的,只要找到更高的,就一定是容器体积较大的。...之所以是数值较小的指针移动,是因为要想容器变大,那么需要将较矮的数值拉高,就像是木桶原理,木桶能装的水,是由最短的“板”决定的,因此需要寻找更高的”板“。