采用双指针法:

主要思想:定义头尾两个指针,分别向中间遍历,当相遇时结束循环。存储每一次遍历容器盛水的最大容量,并不断更新。 盛水的最大容量为 左右指针高度的最小值 乘以 左右指针的距离即宽度。 则可以得到最终的盛水容量。每一次比较头尾指针的高度,若头比尾高 则尾指针向左移动,若头比尾低,则头指针向右移动。

 1 var maxArea = function(arr) {
2 var ans = 0;
3 var head = 0; var tail = arr.length-1;
4 while(head < tail){
5 var tmp = Math.min(arr[head],arr[tail])*(tail-head);
6 ans = Math.max(tmp,ans);
7 if(arr[head] <arr[tail]){
8 head++;
9 }else{
10 tail--;
11 }
12 }
13 return ans;
14 };

leetcode 盛水最多的容器 解析的更多相关文章

  1. leetcode第11题:盛水最多的容器

    给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线, ...

  2. leetcode 11盛水最多的容器

    class Solution { public: int maxArea(vector<int>& height) { //双指针法:从最宽的容器开始计算,当更窄的容器盛水量要大于 ...

  3. LeetCode.11-装水最多的容器(Container With Most Water)

    这是悦乐书的第350次更新,第375篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第5题(顺位题号是11).给定n个非负整数a1,a2,-,an,其中每个表示坐标(i ...

  4. [leetcode]11. Container With Most Water存水最多的容器

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

  5. leetcode-11-盛水最多的容器

    题目描述: 方法一:双指针 class Solution: def maxArea(self, height: List[int]) -> int: left = 0 right = len(h ...

  6. LeetCode第[42]题(Java):Trapping Rain Water (数组方块盛水)——HARD

    题目:接雨水 难度:hard 题目内容: Given n non-negative integers representing an elevation map where the width of ...

  7. Java容器解析系列(0) 开篇

    最近刚好学习完成数据结构与算法相关内容: Data-Structures-and-Algorithm-Analysis 想结合Java中的容器类加深一下理解,因为之前对Java的容器类理解不是很深刻, ...

  8. LeetCode第[11]题(Java):Container With Most Water (数组容器盛水)——Medium

    题目难度:Medium Given n non-negative integers a1, a2, ..., an, where each represents a point at coordina ...

  9. [LeetCode] Ternary Expression Parser 三元表达式解析器

    Given a string representing arbitrarily nested ternary expressions, calculate the result of the expr ...

随机推荐

  1. dubbo学习实践(5)之Dubbo-Admin元数据中心配置(zookeeper&Redis&Consul)

    1.Dubbo2.7.8元数据中心配置zookeeper版 前面文章已经写到了dubbo-admin管理平台的docker版配置及dubbo服务注册与调用,这篇文章记录dubbo元数据中心配置 翻开d ...

  2. docker搭建kafka集群(高级版)

    1. 环境docker, docker-compose 2.zookeeper集群 /data/zookeeper/zoo1/config/zoo.cfg # The number of millis ...

  3. 关于phpmyadmin getshell

    思考一个问题:如何在获得一个PHP MySQL 搭建网站的phpmyadmin界面后(无论用什么办法,进到phpmyadmin里),进行一个getshell的操作? ...... 0x01山重水复 当 ...

  4. PyCharm启动报错 TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’ 解决

    这个提示大概是说:"类型错误:不支持操作类型为字符串和字符串",直接把两个字符串(BASE_DIR = os.path.dirname(os.path.dirname(os.pat ...

  5. docker部署elasticsearch-+-Kibana(6-8)-+-SpringBoot-2-1-6

    elasticsearch快速开始 docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e ...

  6. spring学习日志三

    一.回顾 1.1 依赖注入的方式. set方法来注入 <property name="属性名" /> 构造方法来注入<construtor-arg index=& ...

  7. 页面的跳转MVVM,带参数的传递

    主页面 -------------------------- <Page x:Class="CheckMemoryLeak.MainPage" xmlns="htt ...

  8. 关于Eclipse中使用Maven进行Install安装时候报错Perhaps you are running on a JRE rather than a JDK?解决办法

    所遇到的问题: 详情报错: 英文描述: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3. ...

  9. tomcat启动与运行时出现中文乱码问题

    解决方法 到tomcat/conf/目录下  修改logging.properties 找到 java.util.logging.ConsoleHandler.encoding = utf-8这行 更 ...

  10. 数据库中sql分类

    -- sql语句分类:--   1)数据定义语句(DDL):--            create/alter/drop--   2)数据操作语句(DML):--            insert ...