LeetCode11.盛最多水的容器 JavaScript

栏目: 编程工具 · 发布时间: 5年前

内容简介:给定说明:你不能倾斜容器,且

LeetCode11.盛最多水的容器 JavaScript

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

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

LeetCode11.盛最多水的容器 JavaScript

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

示例:

输入: [1,8,6,2,5,4,8,3,7]

答案参考:

/**
 * @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

};

LeetCode11.盛最多水的容器 JavaScript


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Android和PHP开发最佳实践

Android和PHP开发最佳实践

黄隽实 / 机械工业出版社华章公司 / 2013-3-20 / 79.00元

本书是国内第一本同时讲述Android客户端开发和PHP服务端开发的经典著作。 本书以一个完整的微博应用项目实例为主线,由浅入深地讲解了Android客户端开发和PHP服务端开发的思路和技巧。从前期的产品设计、架构设计,到客户端和服务端的编码实现,再到性能测试和系统优化,以及最后的打包发布,完整地介绍了移动互联网应用开发的过程。同时,本书也介绍了Android系统中比较有特色的功能,比如Go......一起来看看 《Android和PHP开发最佳实践》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具