
題目如下.png
這道題可以采用雙指針的方法,每次移動有可能會增大面積的那條邊,具體的思維方式可以看網(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,也歡迎訪問我的個(gè)人博客:tundrazone.com