题目
思路
双指针两边逼近,能容纳水的量取决于最短的那一条边,如果 i 指向该条边,运算结束后 i++,反之 j-- 。
能容纳水的量=数组长度-1 * 最短那条边
代码
class Solution { public int maxArea(int[] height) { int max=0; int width=height.length-1; int i=0; int j=height.length-1; while(i<j){ int h; if(height[i]<=height[j]){ h=height[i]; i++; }else{ h=height[j]; j--; } if(h*width>max){ max=h*width; } width--; } return max; } }