• 每日算法-10


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

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

    图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
    示例:
    输入:[1,8,6,2,5,4,8,3,7]
    输出:49
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/container-with-most-water

    class Solution {
        public int maxArea(int[] height) {
            int i=0;int len=height.length-1;
            int maxs=0;
            while(i<len)
            {
                int aa=Math.min(height[i],height[len]);
                maxs=Math.max(maxs,aa*(len-i));
                if(height[i]<height[len])
                {
                    i++;
                }
                else
                {
                    len--;
                }
            }
            return maxs;
        }
    }
    

    作者:Better又
    出处:https://www.cnblogs.com/lwyy1223-/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    0806 c#总复习
    0804 递归
    0808 html基础
    0803结构体,枚举类型
    0801out传值
    0731函数
    0730特殊集合
    0728多维数组,ArrayList集合
    js 获取url链接的任意参数
    jq dom操作
  • 原文地址:https://www.cnblogs.com/lwyy1223-/p/12728040.html
Copyright © 2020-2023  润新知