博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode11.盛最多水的容器 JavaScript
阅读量:7004 次
发布时间:2019-06-27

本文共 687 字,大约阅读时间需要 2 分钟。

LeetCode11.盛最多水的容器 JavaScript

给定 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

答案参考:

/** * @param {number[]} height * @return {number} */var maxArea = function(height) {        let max = 0    for (let i = 0, j = height.length-1; i< j; ) {         // 因为容量受限于矮的一边,所以在向内收缩时,移动矮的一侧         // 如果新边足够高的话,效果有可能大于宽度收缩带来的负效果        let minHeight = height[i] > height[j] ? height[j--] : height[i++]        // 因为上面--或者++了,所有要补个+1        max = Math.max(max, (j-i+1)* minHeight )    }    return max};

欢迎关注

转载地址:http://zsytl.baihongyu.com/

你可能感兴趣的文章
iOS开发--线程通信
查看>>
写入位置时发生訪问冲突
查看>>
webpack window 处理图片和其他静态文件
查看>>
在windows上搭建C语言开发环境——借助eclipse和MinGW
查看>>
利用javascript跨域访问cookie之广告推广
查看>>
[Machine Learning] Active Learning
查看>>
后台服务器端技术点(前沿了解)
查看>>
The Frog's Games(二分)
查看>>
Android 文件访问权限的四种模式
查看>>
安卓Android科大讯飞语音识别代码使用详解
查看>>
English - little,a little,a few,few的区别
查看>>
Jquery属性获取——attr()与prop()
查看>>
Mysql shell 控制台---mysqlsh
查看>>
JQuery的ready函数与JS的onload的区别详解
查看>>
eclipse出现错误:he type java.util.Map$Entry cannot be resolved. It is indirectly referenced
查看>>
yii2权限控制rbac之rule详细讲解
查看>>
Android AbsListView Abs前缀
查看>>
Redis应用场景一
查看>>
webservice 协议
查看>>
SAR-303 xml validator验证框架
查看>>