題目描述:給定 n 個非負整數(shù) a1,a2曹傀,...辐脖,an,每個數(shù)代表坐標中的一個點?(i,?ai) 皆愉。在坐標內(nèi)畫 n 條垂直線揖曾,垂直線 i?的兩個端點分別為?(i,?ai) 和 (i, 0)。找出其中的兩條線亥啦,使得它們與?x?軸共同構成的容器可以容納最多的水炭剪。
說明:你不能傾斜容器,且?n?的值至少為 2翔脱。
圖中垂直線代表輸入數(shù)組 [1,8,6,2,5,4,8,3,7]奴拦。在此情況下,容器能夠容納水(表示為藍色部分)的最大值為?49届吁。?
示例:輸入: [1,8,6,2,5,4,8,3,7]
輸出: 49
java代碼:
class?Solution?{
????public?int?maxArea(int[]?height)?{
????????int?i?=?0,j?=?height.length?-?1,res?=?0;
????????while(i?<?j)?{
????????????res?=?height[i]?<?height[j]?
????????????????Math.max(res,?(j?-?i)?*?height[i++]):
????????????????Math.max(res,?(j?-?i)?*?height[j--]);
????????}
????????return?res;
????}
}