题意:找到蓄水量最大的容器。
思路:从两边开始找,每次更新较小的边。
class Solution {
public:
int maxArea(vector<int>& height) {
int low = 0;
int high = height.size() - 1;
int maxwater = 0;
while(low < high) {
maxwater = max(maxwater, (high - low) * min(height[low], height[high]));
if(height[low] > height[high]) high --;
else low ++;
}
return maxwater;
}
};

本文介绍了一种寻找能容纳最多水的容器的算法。通过双指针法从两端向中间逼近,每次移动高度较低的一侧指针,最终找出蓄水量最大的容器。此算法适用于解决特定类型的最大面积问题。
383

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



