# Leetcode 11. Container With Most Water
給定一個有n個非負的數字的數組 height 其索引代表x軸,數值代表y軸,找到一組n[left],n[right]使其形成的面積為最大的。
## 想法
### (1)使用暴力解 (使用python3 TLE)
使用兩個迴圈比對每一個索引,回傳最大值
程式碼:
```
def maxArea(self, height: List[int]) -> int:
ans = 0
length = len(height)
for i in range(length):
for j in range(i+1,length):
ans = max(min(height[i],height[j])*(j-i),ans)
return ans
```
### (2)使用兩個指針
使用兩個指針分別從開頭和結尾開始,兩者較小的轉換為下一個,依次算出結果。
例如:
n = 5
height = [1,3,5,6,8]
left = 0
right = n-1
當 hegiht[left]>height[right]則移動right為right-1
否則則移動left為left+1 直到right<left。
程式碼:
```
def maxArea(self, height: List[int]) -> int:
ans = 0
left = 0
right = len(height)-1
while(right>left):
if(height[right]>height[left]):
ans = max(ans,height[left]*(right-left))
left+=1
else:
ans = max(ans,height[right]*(right-left))
right-=1
return ans
```