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

题目如下.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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • 休假第五天,今天难得在小区里溜达了一圈。很多儿时的伙伴已经成家立业,一年也难见面几次。最关键的是在见面之后,我们除...
    小墨鱼天天很开心阅读 175评论 0 1
  • 1. 为什么 关于思考事物本质的观点和文章已经很多了,但是大多都拘泥于理论分析或者大框架。这里的不同的是需要【努力...
    Essenphilos阅读 318评论 0 1
  • 这篇文章原本打算分两期:毕业生和在校生。但仔细一想,毕业生的工作问题和在校生的实习兼职问题本质上是一样的。如何高效...
    LadyY阅读 1,185评论 0 51