每天一道leetcode-11盛最多水的容器
- 2019 年 10 月 4 日
- 筆記
昨天的题解
题目
每天一道leetcode-11盛最多水的容器 分类:双指针 中文链接: https://leetcode-cn.com/problems/container-with-most-water/description/ 英文链接 https://leetcode.com/problems/container-with-most-water/description/
题目详述

题目.png
题目详解
思路
- 从两边向中间,比较两线高度,每次都舍弃最短的并向中心移动一位,同时根据两边距离和最短边高度得到面积。由于最短边是每个长方形面积的决定因素,因而每次只挪动短边的一端,直到两端相遇。
代码

代码讲解
- 10-15行就是如果右边的矮一些(水桶容量取决于短板),那么高度就取右边的高度,然后right–的意思就是因为底的宽度在减小,那么由于右边的高度较小的一边,肯定是令右边往左边靠,这样才有可能找到更大的容积的容器;
- 15-18行同上,只不过是left++
- 20-21行就是把中间的可能最大的容积保存下来,