题目
题解
暴力解
int maxArea(vector<int>& height) { int n = height.size(); int max = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { int area = std::min(height[i], height[j]) * (j - i); max = std::max(area, max); } } return max; }双指针
class Solution { public: int maxArea(vector<int>& height) { int max = 0; int l = 0,r = height.size()-1;//两个指针 while(l < r){ int area = std::min(height[l],height[r]) * (r-l); max = std::max(max,area); //短的向长的移动 if(height[l] < height[r]) l++; else r--; } return max; } };