首页 > 其他分享 >成最多水的容器

成最多水的容器

时间:2024-02-12 15:45:20浏览次数:20  
标签:长板 容器 min int height 最多水 短板

原题链接

首先根据题意可以列出暴力解法,时间复杂度为O(n^2),很明显会超时。

接下来讲解双指针解法:

设两指针i , j ,指向的水槽板高度分别为h[i] , h[j] 。由于可容纳水的高度由两板中的 短板 决定,因此可得面积公式S=min(h[i],h[j])*(j-i).

在每个状态下,无论是长板还是短板向内收一格都会导致X减小1,就会有如下两种情况:

1、短板向内收缩min(h[i],h[j])可能会变大,S可能会增大。

2、长板向内收缩min(h[i],h[j])不变或减小,S一定减小。

因此我们根据单调性,我们每次让短板向内收缩。

Code

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

 

标签:长板,容器,min,int,height,最多水,短板
From: https://www.cnblogs.com/purple123/p/18013934

相关文章

  • nginx容器配置方案
    nginx容器配置可以参考docker官网nginx页面的默认配置docker-nginx官网howtouseimage这里面提供了一些demo,可以帮助我们快速的启动nginx容器,并且除了常规的挂载、端口等基本配置外,还提供了以只读方式启动、以debug模式启动、设置日志等级环境变量等演示。下文仅是博主根据......
  • 快速初始化容器化Gin项目
    Gin是一个使用Go语言开发的Web框架,追求性能和效率。1、使用Gin快速初始化项目创建项目目录:在命令行中创建一个新目录,用于存放项目文件。然后进入该目录:mkdirmy-gin-democdmy-gin-demo初始化Go模块:在项目目录中运行以下命令以初始化Go模块。这会创建一个go.mo......
  • Kubernetes-Init容器的6个特性
    本文主要从以下4个方面介绍Init容器:Init容器作用、Init容器特性、Init容器与应用容器的区别、Init容器实战。Kubernetes中的Pod内可以运行多个容器,主要分为2种:Init容器、应用容器,Sidecar容器也是一种特殊的Init容器。Init容器的作用Init容器是一种特殊容器,在Pod内的应用容器启......
  • 概念解读-云原生和容器编排
    有些概念没有标准答案,每个地方解释的也都很模糊,概念也一直被滥用,比如说云原生的概念。有些概念听起来高大上,实际上很普通,比如说容器编排的概念。本文我对这两个概念作个解释。1、云原生最近几年,“云原生”一度成为前沿的技术用语,各种业内技术大会都能看到“云原生”的字样,但是......
  • 在k8S中,初始化容器(init container)概念原理是什么?
    在Kubernetes(k8S)中,初始化容器(InitContainer)是一个特殊类型的容器,它会在应用程序容器启动之前运行。它的主要目的是执行一些必要的先决条件任务,这些任务必须在主应用容器开始服务前完成。初始化容器的概念原理如下:顺序执行:Pod中可以定义多个初始化容器,它们按照配置文件......
  • 以容器方式部署通义千问 Qwen
    准备服务器阿里云云服务器实例规格:轻量级GPU实例ecs.vgn6i-m4-vws.xlarge(4vCPU23GiB)磁盘空间:50G操作系统:Ubuntu22.04安装dockeraptinstalldocker.io安装NVIDIAGRID驱动acs-plugin-manager--exec--plugingrid_driver_install安装NVIDIAContainerToo......
  • golang容器部署时区报错
    问题:consttimezone="Asia/Shanghai"funcTimeFormat(datetime.Time,patternstring)string{location,err:=time.LoadLocation(timezone)date.In(location)returndate.Format(pattern)} 1.在本地开发使用了时区是没有问题的,但是部署到服务器上面......
  • 轻量级容器管理工具Containerd的两种安装方式
    1.yum安装1.1.获取阿里云YUM源[root@centos]#wget-O/etc/yum.repos.d/docker-ce.repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.2.查看YUM源中Containerd软件[root@centos]#yumlist|grepcontainerdcontainerd.io.x86_641.4.12-3.......
  • 盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
    写在开头在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同归。由此可见,数据对于程序语言的重要性。这段话是在写数据类型那篇博客时说的,当时是为了引入Java中数据......
  • 一个进入容器后curl的不对的问题诊断
    一个容器,进入容器的时候是否开启gpu,会导致curl的行为不一致。具体表现为容器开启--gpusall后进入容器,执行curl会出现“curl:symbollookuperror:curl:undefinedsymbol:curl_mime_free”错误诊断中,我先比对了两个--version是否一致。开启前和开启后的版本信息......