当前位置: 首页 > news >正文

leetcode hot100(五)

11. 盛最多水的容器

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

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

今天是2025年3月17日星期一

        这个只要读懂了就很好理解,首先定义两个指针作为边界,因为装雨水的话就像木桶效应一样,关键是看短的那一条,能装下的就是两个边界之间的距离乘以两个边界中的最小值,接下来就是一个移动指针的思考,因为主要是看短边,所以移动长边事没意义的,因此选择移动短边并重新计算对应的雨水,迭代的过程不断更新ans取最大值,最后当两个指针相遇时结束。

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

        return ans;
        
    }
};

相关文章:

  • 【实用部署教程】olmOCR智能PDF文本提取系统:从安装到可视化界面实现
  • 企业年度经营计划制定与管理方法论(124页PPT)(文末有下载方式)
  • CSS Grid 布局
  • JVM OOM问题如何排查和解决
  • 面试提问:如何判断 Hive 表是内部表还是外部表?
  • MySQL 入门大全:运算符
  • 基于Selenium Grid的分布式测试架构设计与深度实践
  • springboot444-基于Vue的网络小说交流平台(源码+数据库+纯前后端分离+部署讲解等)
  • 【初学者】请介绍一下线性与非线性的区别?
  • Unity—从入门到精通(第一天)
  • 详细解析格式化消息框的代码
  • defineAsyncComponent和一般的import有什么区别
  • 微前端 qiankun vite vue3
  • cmake 之 CMakeLists.txt 中的函数是从哪里来的
  • C#基于MVC模式实现TCP三次握手,附带简易日志管理模块
  • Spring配置文件-Bean实例化三种方式
  • 神经网络中层与层之间的关联
  • Kafka-QA
  • FPGA——实现LED流水灯
  • 【二分查找】搜索插入位置 x的平方根
  • 简洁网站倒计时代码/比较好用的搜索引擎
  • 深圳市移动端网站建设/游戏推广公司靠谱吗
  • 营销网站开发找哪家/整合营销策略有哪些
  • 公司网站做的很烂/宁波网站推广公司价格
  • 福州做企业网站/资源搜索神器
  • 重庆电商平台网站建设/百度统计手机app