标签:
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.
两个指针代表作有边界,向中间收缩。
每次收缩短的一边,因为短的一边是limit,永远不可能会是更大。
public class Solution {
public int maxArea(int[] height) {
int largest = 0;
for (int i = 0, j = height.length - 1; i < j;) {
int area = (j - i) * Math.min(height[i], height[j]);
if (area > largest) {
largest = area;
}
if (height[i] > height[j]) {
j --;
} else {
i ++;
}
}
return largest;
}
}
标签:
原文地址:http://www.cnblogs.com/shini/p/4467921.html