Tuesday, April 9, 2013

Container with most water (C++ code)

LeetCode Container With Most WaterJan 9 '12
 难度3,出现频率2
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.

 int maxArea(vector<int> &height) {
     int start = 0, end = height.size() - 1;

     int maxvol = 0;
     while(start < end){
          int temp;
          if(height[start] > height[end]) {
              temp =end--;
          } 
          else temp = start++;
          maxvol = max(maxvol, height[temp] *(end - start + 1));
     }
     

    return maxvol;  
    }

No comments:

Post a Comment