11. 盛最多水的容器
双指针
class Solution {
public int maxArea(int[] height) {
int res = 0;
int i = 0, j = height.length - 1;
while (i < j) {
res = Math.max(res, Math.min(height[i], height[j]) * (j - i));
if (height[i] > height[j]) {
j--;
} else {
i++;
}
}
return res;
}
}
- 时间复杂度 O(n)
- 空间复杂度 O(1)