int maxArea(int* h, int heightSize) {

int left = 0;
int right = 0;
int lp = 0;
int ans = 0;
int rp = heightSize -1;
while(lp < rp)
{
if(h[lp] < h[rp])
{
int t = h[lp] * (rp - lp);
if(t > ans)ans = t;
left = h[lp];
lp ++;
while(h[lp] <= left && lp < rp)lp++;
continue;
}else{
int t = h[rp] * (rp - lp);
if(t > ans)ans = t;
right = h[rp];
rp --;
while(h[rp] <= right&& lp < rp)rp --;
continue;
}
}
return ans;
}

posted on 2017-12-15 23:37  朽木の半夏  阅读(68)  评论(0编辑  收藏  举报