专栏首页Leetcode算法【LeetCode】11.盛最多水的容器
原创

【LeetCode】11.盛最多水的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (iai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (iai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器,且 n 的值至少为 2。

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。


可以从两头开始计算,一个头(i),一个尾(j),计算的面积值保存在max里面,然后移动头或者尾。

移动的规则如下:如果头的值比尾的值小,说明当前短板是头,则i++,反之,j--;

然后头尾每次移动都计算面积值,将这次的面积值,与之前的最大面积值比较,再次保存最大的面积值

直到 j 小于 i

class Solution {
    public int maxArea(int[] height) {
        int mj = 0;
        int len = height.length;
        if(len == 2){return Math.min(height[0],height[1])*(1-0);}
        int j = len-1;
        for(int i =0;i<j;){
            int temp = Math.min(height[i],height[j])*(j-i);
            mj = Math.max(mj,temp);
            if(height[i] < height[j])
                i++;
            else
                j--;
        }
        return mj;
    }
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【LeetCode】1.两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    Delevin
  • 【LeetCode】最小栈

    设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。

    Delevin
  • 【LeetCode】2.两数相加

    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

    Delevin
  • 2019 CCPC 秦皇岛 Escape 最大流

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    用户2965768
  • 剑指OFFER之重建二叉树(九度OJ1385)

    题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7...

    用户1154259
  • LeetCode 384. 打乱数组(rand)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/shuffle-an-array 著作权归领扣网络所...

    Michael阿明
  • 【2020HBU天梯赛训练】7-30 树的遍历

    给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。

    韩旭051
  • 「AtCoder Grand018A」Getting Difference(GCD)

    有n(1~\(10^5\))个数\(A_i\) (110^9),每次选两个数,将它们的差的绝对值加入这堆数。问k(1\(10^9\))是否可能出现在这堆数中。

    饶文津
  • 2017icpc beijing-I题-Colored Nodes

    题意:给出n个点m条边 然后每个时间点,与这个位置相连的所有点就会变成这个点的颜色 比如时间1的时候就是以这个位置相连的点2 变成1的颜色同理如下,通过2个循环...

    逐梦的青春
  • 基数排序简介及其并行化

      基数排序号称线性时间排序算法中性能最好,速度最快的排序算法。本文将简要概括其算法思想,串行代码及其并行化。

    Dabelv

扫码关注云+社区

领取腾讯云代金券