
最简单的短板效应 可以盛多少取决于最短板的长度。
class Solution {
public:
int maxArea(vector<int>& height) {
int left = 0;
int right = height.size() - 1; //左侧下标l从0开始 所以右侧下标得减一
int ans = 0;
while (l < r)
{
int area = min(height[left], height[right]) * (r - l); //盛最多水得找最短板 (短板效应) 所以找出height [left] 和 height[right]中的最小值
ans = max(ans, area); //每次循环中存储最大值
if (height[left] <= height[right])
{
++left;
}
else
{
--right;
}
}
return ans; //返回存储水的最大值
}
}
本文介绍了一种使用双指针技巧解决盛水量问题的方法。通过不断调整左右两侧的高度来找到能够容纳最多水的方案,利用了所谓的“短板效应”。代码简洁高效,易于理解。
728

被折叠的 条评论
为什么被折叠?



