這道題可以采用雙指針的方法,每次移動(dòng)有可能會(huì)增大面積的那條邊尺铣,具體的思維方式可以看網(wǎng)站的解答做葵,我這里給出Python實(shí)現(xiàn)代碼:
class Solution:
def maxArea(self, height):
"""
:type height: List[int]
:rtype: int
"""
height_list = height
len_height = len(height_list)
if len_height < 2:
return 0
max_area = 0
i = 0
j = len_height - 1
while i != j:
h = min(height_list[i], height_list[j])
w = j - i
if max_area < h * w:
max_area = h * w
if height_list[i] < height_list[j]:
i = i + 1
else:
j = j - 1
return max_area
ps:如果您有好的建議白嘁,歡迎交流 :-D捶箱,也歡迎訪(fǎng)問(wèn)我的個(gè)人博客:tundrazone.com