11.leetcode题目讲解(Python):盛最多水的容器

11.leetcode题目讲解(Python):盛最多水的容器_第1张图片
题目如下.png

这道题可以采用双指针的方法,每次移动有可能会增大面积的那条边,具体的思维方式可以看网站的解答,我这里给出Python实现代码:


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,也欢迎访问我的个人博客:tundrazone.com

你可能感兴趣的:(11.leetcode题目讲解(Python):盛最多水的容器)