LeetCode11. 盛最多水的容器


题目

分析

这题出的太精巧了,本人的话只会无脑暴力搜索,但实际上用双指针。其严格证明见:

https://www.acwing.com/solution/content/100/

这题应该是贪心算法,但没看出要贪心什么,没有直觉。。。

代码

 1 class Solution {
 2 public:
 3     int maxArea(vector<int>& h) {
 4         int res = 0;
 5         for(int i = 0 ,j = h.size() - 1; i < j;){
 6             res = max(res,min(h[i],h[j]) * (j - i));
 7             if(h[i] < h[j]) i++;
 8             else j--;
 9         }
10         return res;
11     }
12 };

相关