6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)
给你 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. 盛最多水的容器 (数组-双向双指针)相关推荐
- [贪心|双指针] leetcode 11 盛最多水的容器
[贪心|双指针] leetcode 11 盛最多水的容器 1.题目 题目链接 给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 ...
- LeetCode 11. 盛最多水的容器
11. 盛最多水的容器 思路:双指针,放弃低的那边 class Solution { public:int maxArea(vector<int>& height) {int n= ...
- LeetCode 11. 盛最多水的容器(双指针)
文章目录 1. 题目信息 2. 解题 1. 题目信息 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) . 在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 ...
- leetcode —— 11. 盛最多水的容器
给定 n 个非负整数 a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,每个数代表坐标中的一个点 (i,ai)(i, a_i)(i,ai) .在坐标内画 n 条垂 ...
- LeetCode #11 盛最多水的容器
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) .找出其中的两条线 ...
- LeetCode 热题 HOT 100 -------31. 下一个排列(数组,数学问题)128. 最长连续序列(数组) 11. 盛最多水的容器(数组) 621. 任务调度器 (数组)
dsadas /**思路:找下一个排列,并且尽可能小,所以我们应该找一序列中从左边开始的"较小值"与"较大值"交换,但是为了尽可能小应该满足: 1." ...
- LeetCode——11. 盛最多水的容器
题目链接:https://leetcode-cn.com/problems/container-with-most-water/ #include <bits/stdc++.h> #inc ...
- LeetCode 11 盛最多水的容器
https://leetcode-cn.com/problems/container-with-most-water/ 解决方案 class Solution {public int maxArea( ...
- 力扣(leetcode) 11. 盛最多水的容器 (短板木桶原理详解)
题目在这:https://leetcode-cn.com/problems/container-with-most-water/ 思路分析: 本题容易想到使用双指针维护水桶的左边和右边. 开始时,L指 ...
最新文章
- 14.使用zabbix log key监控nas
- angular模拟web API
- CEO不当了,CTO也不做了!我要回去写代码,这才是我所热爱的!
- C++高斯赛德迭代法,求线性方程组的解(version1.0)
- 利用binlog进行数据库的还原
- 用python正确的获取文件最后被修改的时间
- MVC+EF三层+抽象工厂项目搭建
- 【论文解读】Cross-dataset Training for Class Increasing Object Detection
- 红黑树 c++ 实现
- 输入1到100带圈字符Ⓢ你以为很容易的/其实特容易翻车的需求
- UE4 人物运动基本设置
- excel转word_excel怎么转word?常用方法合集,看你使用哪一种
- js两时间相减获得天数
- RK3399 Thermal (温度控制)
- java随机生成三位数
- 台式计算机拆解与安装,台式机固态硬盘安装流程拆解
- 计算机职业价值观测评报告,职业价值观分析测试结果
- matlab画莫尔圆代码,EXCEL莫尔圆.xls
- 【小程序】自定义导航栏
- ERFNet网络的演化