LeetCode: Container With Most Water

第一次用了个O(n^2)的算法large没过,就仔细想了想,少数次过吧

 1 class Solution {

 2 public:

 3     int maxArea(vector<int> &height) {

 4         // Start typing your C/C++ solution below

 5         // DO NOT write int main() function

 6         int sum = 0;

 7         int beg = 0;

 8         int end = height.size()-1;

 9         while (beg < end) {

10             sum = max(sum, min(height[beg], height[end])*(end-beg));

11             if (height[beg] > height[end]) end--;

12             else beg++;

13         }

14         return sum;

15     }

16 };

 C#

 1 public class Solution {

 2     public int MaxArea(int[] height) {

 3         int sum = 0;

 4         int beg = 0;

 5         int end = height.Length - 1;

 6         while (beg < end) {

 7             sum = Math.Max(sum, Math.Min(height[beg], height[end]) * (end - beg));

 8             if (height[beg] > height[end]) end--;

 9             else beg++;

10         }

11         return sum;

12     }

13 }
View Code

 

你可能感兴趣的:(LeetCode)