leetcode 11. Container With Most Water-最大容器|双指针

原创 2016年06月01日 21:31:03
原题链接:11. Container With Most Water

【思路】

用两枚指针——left, right 分别从左和右向中间遍历(left 和 right 中高度较小的向中间靠齐)。在遍历过程中遇到更大的高度时,由于可能得到更大面积,因此要和原先面积做一次比较:

public class Solution {
    public int maxArea(int[] height) {
        int l = 0, r = height.length - 1, res=0;
        while(l < r)
            res = Math.max(res, (r-l) * (height[l] < height[r] ? height[l++] : height[r--]));
        return res;
    }
}
45 / 45 test cases passed. Runtime: 4 ms  Your runtime beats 73.09% of javasubmissions.

class Solution(object):
    def maxArea(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        l, r, mArea = 0, len(height)-1, 0
        while l < r :
            if height[l] < height[r] :
                mArea, l = max(mArea, (r-l)*height[l]), l+1
            else :
                mArea, r = max(mArea, (r-l)*height[r]), r-1
        return mArea
45 / 45 test cases passed. Runtime: 84 ms  Your runtime beats 71.06% of pythonsubmissions.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode 11 Container With Most Water(最大水容器)

翻译给定n个非负整数a1,a2,...,an,其中每个代表一个点坐标(i,ai)。n个垂直线段例如线段的两个端点在(i,ai)和(i,0)。找到两个线段,与x轴形成一个容器,使其包含最多的水。备注:你...
  • NoMasp
  • NoMasp
  • 2015年10月12日 22:11
  • 3591

LeetCode Container With Most Water 查找容水量最大的容器 动态规划法思想分析

其实这个是动态规划法做的,因为我没看到有人分析其中的动态规划法思想,所以在这里分析一下。 下面分析是怎么样的动态规划法思想。 1 分区,首先分最大区间,左边高度为height[0],右边高度为he...

leetcode11. Container With Most Water两根柱子围成最大面积

牛客网第一课第三题 问题:给定一个非负数的数组,数组中的每个值代表一个柱子的高度,柱子的宽度是1。两个柱子之间可以围成一个面积,规定:面积=两根柱子的最小值*两根柱子之间的距离。 例子:数 组[3...

leetcode解题之 11. Container With Most Water Java版(最大盛水容积)

leetcode解题之 11. Container With Most Water Java版(最大盛水容积)

[LeetCode - 双指针] 11. Container With Most Water

1 问题 Given n non-negative integers a1,a2,...,an,a_1, a_2, ..., a_n, where each represents a point ...

LeetCode11. Container With Most Water(思维题:选择左右边使得容器所盛水最多)

这道题,我独立想了好久!!!!一道很好的思维题!!!!!!!! 思路1是自己的求解方法O(nlogn),思路2是网上最优的解法O(n),暴利O(n^2)肯定超时! 题目链接:htt...

LeetCode 11. Container With Most Water(容器装水)

原题网址:https://leetcode.com/problems/container-with-most-water/ Given n non-negative integers a1,...
  • jmspan
  • jmspan
  • 2016年05月19日 05:24
  • 405

《LeetBook》leetcode题解(11):Container With Most Water[M] ——用两个指针在数组内移动

问题Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). ...

Container With Most Water(最大容器)

Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n ...

Leetcode Q11:Container With Most Water

题目11: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 11. Container With Most Water-最大容器|双指针
举报原因:
原因补充:

(最多只允许输入30个字)