11. 盛最多水的容器 - 力扣(LeetCode)
思路:
- 因为体积是长度乘高,所以运用双指针,一个在最左,一个在最右,
- 每次都记录体积 V ,然后比较左边的长度和右边的长度,左边的长度比右边短 就 left ++,右边长度比左边短,就 right --;
- 每次记录体积最大的值,然后和新算的体积比较,留下最大的值
代码:
public int maxArea(int[] height) {int left = 0;int right = height.length-1;int Max_V = 0;while(left < right){//求出最大值int v = Math.min(height[left],height[right]) * (right - left);Max_V = Math.max(v,Max_V);//移动left rightif(height[left] < height[right]){left++;}else{right--;}}return Max_V;}