LeetCode11. Container With Most Water最容易理解的解法

来源:互联网 发布:java多线程api 编辑:程序博客网 时间:2024/05/16 12:33

Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) 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 getArea(vector<int>& height, int left, int right){int h = height[left] > height[right] ? height[right] : height[left];return h*(right - left);}int maxArea(vector<int>& height) {int left = 0;int right = height.size() - 1;int max = 0;while (left < right) {int m = getArea(height, left, right);if (m > max){max = m;}if (height[left] < height[right]) {left++;}else {right--;}}return max;}};





0 0
原创粉丝点击