【LeetCode刷题笔记】LeetCode.11.盛最多水的容器

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
更多算法知识专栏:算法分析🔥
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

在这里插入图片描述
LeetCode题解专栏:【LeetCode刷题笔记】


题目链接

LeetCode.11.盛最多水的容器

一、题目描述

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 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

三、题目分析

使用双指针的思想,一个指针在左,一个指针在右;

记录最大面积值,通过指针移动计算出每个位置能盛最多水的值

由于最大面积取决于较短的边,所以每次移动时进行比较,移动较小的那条边

四、代码实现(C++)

#include <algorithm>
class Solution {
public:
    int maxArea(vector<int>& height) {
        //记录面积最大值
        int res = 0;
        //左指针
        int front = 0;
        //右指针
        int back = height.size()-1;
        //遍历
        while(front < back)
        {
            //矩形大小 短线*下标差
            int cur = min(height[front],height[back])*(back-front);
            res = max(res,cur);
            //如果左侧矩形更高 移动右侧向左
            if(height[front] > height[back])
            {
                back--;
            }
            else
            {
                front++;
            }
        }
        return res;
    }
};

在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!
如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

相关推荐

  1. LeetCode 11. 容器

    2024-07-10 08:00:04       33 阅读

最近更新

  1. python-docx,一个超酷的word处理Python库!

    2024-07-10 08:00:04       0 阅读
  2. Exploiting server-side parameter pollution in a query string

    2024-07-10 08:00:04       0 阅读
  3. Github 2024-07-20 开源项目日报Top10

    2024-07-10 08:00:04       0 阅读
  4. Linux内核(3)-内核模块结构详解

    2024-07-10 08:00:04       0 阅读
  5. 数据库对比

    2024-07-10 08:00:04       0 阅读

热门阅读

  1. Django 实现子模版继承父模板

    2024-07-10 08:00:04       7 阅读
  2. [面试爱问] https 的s是什么意思,有什么作用?

    2024-07-10 08:00:04       8 阅读
  3. Docker

    2024-07-10 08:00:04       7 阅读
  4. Vue中v-for和v-if优先级(2、3)

    2024-07-10 08:00:04       6 阅读
  5. 晚上定时编译android系统

    2024-07-10 08:00:04       7 阅读
  6. 摒弃传统分页:移动端开发中的无限滚动实现

    2024-07-10 08:00:04       7 阅读
  7. 程序人生 - (002)

    2024-07-10 08:00:04       9 阅读
  8. MacOS隐藏文件打开指南

    2024-07-10 08:00:04       7 阅读