问题解释 想象你有一个装水的容器,容器的两边是高高的墙(数组中的高度),水只能在这两堵墙之间装。你要找到能装最多水的两个墙。 方案步骤 两个指针:我们用两个指针,一个指向左边的墙(左指针),一个指向右边的墙(右指针)。 计算容量:每次我们计算这两堵墙之间能装多少水。装水的高度是两堵墙中较矮的那一堵,因为水不能超过这堵墙的高度。宽度就是两堵墙之间的距离。 更新最大容量:如果这个容量比之前的最大容量大,就更新最大容量。 移动指针:为了找到更大的容量,我们要移动指针。我们总是移动较矮的那一堵墙的指针,这样有可能找到更高的墙来增加容量。 重复:一直重复这个过程,直到两个指针碰到为止。 代码解释 p...