https://leetcode-cn.com/problems/container-with-most-water/
核心:
- 从两端开始,向内移动
- 每次移动小的一端,因为它在接下来的遍历中,不可能充当面积最大的一条边
class Solution {
public:
int maxArea(vector<int>& height) {
int ret(0);
for (int left = 0, right = height.size() - 1; left != right;) {
int min_height = height[left] <= height[right] ? height[left++] : height[right--];
ret = max(ret, (right - left + 1) * min_height);
}
return ret;
}
};
网友评论