首页 > 其他分享 >[LeetCode]011-盛最多水的容器

[LeetCode]011-盛最多水的容器

时间:2022-12-22 19:23:04浏览次数:67  
标签:容器 right 示例 res height 011 最多水 LeetCode left

>>> 传送门

题目

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。

说明:你不能倾斜容器。

示例

示例1

  8         8
  |---------|---7
  | 6       |   |
  | |   5   |   |
  | |   | 4 |   |
  | |   | | | 3 |
  | | 2 | | | | |
1 | | | | | | | |
-----------------
1 2 3 4 5 6 7 8 9
输入:[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

提示

  • n == height.length
  • 2 <= n <= 105
  • 0 <= height[i] <= 104

题解

class Solution {
public:
    int maxArea(vector<int>& height) {
        int res = 0;
        int left = 0, right = height.size() - 1;
        while (left < right) {
            res = max(res, min(height[left], height[right]) * (right - left));
            if (height[left] < height[right]) left ++ ;
            else right -- ;
        }
        return res;
    }
};

标签:容器,right,示例,res,height,011,最多水,LeetCode,left
From: https://www.cnblogs.com/yuyork/p/16999428.html

相关文章

  • leetcode笔记——单调栈
    在leetcode中,使用单调栈的题大多是寻找下一个更大的数类似,我感觉其他变形问题还是挺难搞的实际处理时候可能还是先暴力,再想着怎么通过单调栈去优化吧列一下今天遇到的三......
  • #yyds干货盘点# LeetCode程序员面试金典:特定深度节点链表
    题目:给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为D,则会创建出D个链表)。返回一个包含所有深度的链表的数组。 示例:输入:[1,2,3,4,5,......
  • [leetcode]第 6 天 搜索与回溯算法(简单)
    32-I.从上到下打印二叉树思路没有思路。。看题解要求二叉树从上至下打印,叫做二叉树的广度优先搜索(BFS)。BFS通常借助队列的先入先出特性实现。算法流程:1.特例处理......
  • leetcode.cn165
    最近刷leetcode.cn,碰到这题。题目很水,没啥说的,主要是写法的问题。因为leetcode.cn蛋疼的输入输出通过参数给出,不方便用cin。以前遇到这种题我一般会用java,写法很简单,spli......
  • [LeetCode] 1753. Maximum Score From Removing Stones
    Youareplayingasolitairegamewith threepiles ofstonesofsizes a​​​​​​, b,​​​​​​and c​​​​​​respectively.Eachturnyouchoosetw......
  • [LeetCode]010-正则表达式匹配
    >>>传送门题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持'.' 和 '*' 的正则表达式匹配。'.'匹配任意单个字符'*'匹配零个或多个前面的那一个元......
  • #yyds干货盘点# LeetCode程序员面试金典:最小高度树
    题目:给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组:[-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],......
  • LeetCode HOT 100:颜色分类(荷兰国旗问题)
    题目:75.颜色分类题目描述:给你一个数组,元素只为0、1、2,分别代表红色、白色和蓝色。将数组中相同颜色的元素移动到一起,并将它们排序。也就是将0都排在最前面,1排在中间,2排......
  • [leetcode]第 5 天 查找算法(中等)
    04.二维数组中的查找思路直接遍历!两个for循环classSolution{publicbooleanfindNumberIn2DArray(int[][]matrix,inttarget){for(int[]row:mat......
  • LeetCode刷题笔记
    目录AlgorithmNote基础数组链表哈希表字符串栈与队列二叉树参考链接:代码随想录AlgorithmNote基础数组67:Sqrt-X二分查找法:x平方根的整数部分是ans是满足\(k^2......