力扣:11题盛最多水的容器:
题目描述:
解题思路:
提示:这里填写问题的分析:
1.求水的容量可以想到也就是求这个蓝色区域的面积,即两侧垂直线低的一侧作为高,两条线之间的距离为宽,求长方形面积。联想到使用双指针的办法,左指针指向数组左侧,右指针指向数组最右侧
2.流程分析:以数据[1,8,6,2,5,4,8,3,7]为例子
左指针指向索引为0的元素,即值为1,右指针指向7,说明此时左边高度为1,右边为7,所以水量为min(1,7)乘以两条垂线之间的距离,距离为右指针减去左指针。
3.这时候小的指针为左指针,这时左指针++,往右移动,指向8,水量为min(8,7)*距离,此时右指针指向的高度低,所以右指针左移。
4.需要一个空值记录更新每次的容积,然后将每次的水量与上一次的比较取最大值。
解决方案:
提示:这里填写该问题的具体解决方案: