给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]
输出:49
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
示例 2:输入:height = [1,1]
输出:1
示例 3:输入:height = [4,3,2,1,4]
输出:16
示例 4:输入:height = [1,2,1]
输出:2思路:在每一个状态下,无论长板或短板收窄 11 格,都会导致水槽 底边宽度 −1:
若向内移动短板,水槽的短板 min(h[i],h[j]) 可能变大,因此水槽面积 S(i,j) 可能增大。
若向内移动长板,水槽的短板 min(h[i],h[j]) 不变或变小,下个水槽的面积一定小于当前水槽面积class Solution:def maxArea(self, height: List[int]) -> int:i, j, res = 0, len(height) - 1, 0while i < j:if height[i] < height[j]:res = max(res, height[i] * (j-i))i += 1else:res = max(res, height[j] * (j-i))j -= 1return res

6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)相关推荐

  1. [贪心|双指针] leetcode 11 盛最多水的容器

    [贪心|双指针] leetcode 11 盛最多水的容器 1.题目 题目链接 给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 ...

  2. LeetCode 11. 盛最多水的容器

    11. 盛最多水的容器 思路:双指针,放弃低的那边 class Solution { public:int maxArea(vector<int>& height) {int n= ...

  3. LeetCode 11. 盛最多水的容器(双指针)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) . 在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 ...

  4. leetcode —— 11. 盛最多水的容器

    给定 n 个非负整数 a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​,每个数代表坐标中的一个点 (i,ai)(i, a_i)(i,ai​) .在坐标内画 n 条垂 ...

  5. LeetCode #11 盛最多水的容器

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

  6. LeetCode 热题 HOT 100 -------31. 下一个排列(数组,数学问题)128. 最长连续序列(数组) 11. 盛最多水的容器(数组) 621. 任务调度器 (数组)

    dsadas /**思路:找下一个排列,并且尽可能小,所以我们应该找一序列中从左边开始的"较小值"与"较大值"交换,但是为了尽可能小应该满足: 1." ...

  7. LeetCode——11. 盛最多水的容器

    题目链接:https://leetcode-cn.com/problems/container-with-most-water/ #include <bits/stdc++.h> #inc ...

  8. LeetCode 11 盛最多水的容器

    https://leetcode-cn.com/problems/container-with-most-water/ 解决方案 class Solution {public int maxArea( ...

  9. 力扣(leetcode) 11. 盛最多水的容器 (短板木桶原理详解)

    题目在这:https://leetcode-cn.com/problems/container-with-most-water/ 思路分析: 本题容易想到使用双指针维护水桶的左边和右边. 开始时,L指 ...

最新文章

  1. 14.使用zabbix log key监控nas
  2. angular模拟web API
  3. CEO不当了,CTO也不做了!我要回去写代码,这才是我所热爱的!
  4. C++高斯赛德迭代法,求线性方程组的解(version1.0)
  5. 利用binlog进行数据库的还原
  6. 用python正确的获取文件最后被修改的时间
  7. MVC+EF三层+抽象工厂项目搭建
  8. 【论文解读】Cross-dataset Training for Class Increasing Object Detection
  9. 红黑树 c++ 实现
  10. 输入1到100带圈字符Ⓢ你以为很容易的/其实特容易翻车的需求
  11. UE4 人物运动基本设置
  12. excel转word_excel怎么转word?常用方法合集,看你使用哪一种
  13. js两时间相减获得天数
  14. RK3399 Thermal (温度控制)
  15. java随机生成三位数
  16. 台式计算机拆解与安装,台式机固态硬盘安装流程拆解
  17. 计算机职业价值观测评报告,职业价值观分析测试结果
  18. matlab画莫尔圆代码,EXCEL莫尔圆.xls
  19. 【小程序】自定义导航栏
  20. ERFNet网络的演化

热门文章

  1. 用户空间与内核空间数据交换的方式(9)------netlink【转】
  2. 这些大酒店用大数据和分析技术对我们做了什么?
  3. Java——容器(Comparable)
  4. C#中Attribute的继承
  5. 如果在安装32位oracle 客户端组件时的情况下以64位模式运行,将出现问题
  6. 多才多艺的console
  7. Silverlight for Windows Phone 7开发体验
  8. 希望增加的BLOG功能——GOOGLE广告
  9. 考研数学一2015年真题整理
  10. 中国人民大学_《组织行为学》_17.节点人物