Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water. Note: You may not slant the container.
class Solution { public: int maxArea(vector<int> &height) { // Start typing your C/C++ solution below // DO NOT write int main() function int size = height.size(); if(size < 2) return 0; int maxA = 0,temp; int left = 0, right = size -1; while(left < right) { if( height[left] <height[right] ) { temp = height[left] * (right - left); left ++; }else{ temp = height[right] * (right - left ) ; right--; } maxA = maxA > temp ? maxA : temp ; } return maxA ; } };
贪心的思想。
最近发现自己越来越搓了,要努力了!