当前位置: 代码迷 >> 综合 >> Leetcode 11. Container With Most Water (cpp)
  详细解决方案

Leetcode 11. Container With Most Water (cpp)

热度:92   发布时间:2023-11-26 06:06:46.0

题目

在这里插入图片描述

解法:双指针

假设现在考虑left位置和right位置的bar形成的区域,这个时候储存的水量由两边中高度小的决定,那么很显然要获得比现在更大的储存量,只有可能移动小的那边。移动大的那边只会让答案变小

class Solution {
    
public:int maxArea(vector<int>& height) {
    if(height.empty()){
    return 0;}int l = 0, r = height.size()-1;int ans = 0;while(l < r){
    ans = max(ans,(r-l)*min(height[l],height[r]));if(height[l] < height[r]){
    l++;}else{
    r--;}}return ans;}
};
  相关解决方案