leetcode (top100)盛最多水的容器

题目:

题解:

第一种可行的方案:

设置左指针指向第一条线,设置右指针指向最后一条线。每次向中间移动两条线中最短的一条,计算移动过程中最大接水量。

本题可以看出影响接水量的有两个因素,两条线的距离,两条线的最短长度。所以只单独考虑其中一个式可行的,该解法相当于固定了或者说是单向改变,两条线之间的距离因为两条线离得越远越可能接更多的水,所以从最远距离开始考虑或者可以说是枚举,从大到小的每个距离在另一个两条线最短的最优情况。

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

时间复杂度:O(n)

空间复杂度:O(1)

题后反思:

这题做到最后好像是一种枚举的思想比平常使用的更高一维,有两个变量找最大值,可以让其中一个条件单调变换,然后再在其中找到另一个调节的最优情况,在这过程中找到最优解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP反序列化

PHP反序列化 什么是反序列化操作&#xff1f; 类型转换 - PHP & JavaEE & Python&#xff08;见图&#xff09; 序列化&#xff1a;对象转换为数组或字符串等格式 反序列化&#xff1a;将数组或字符串等格式转换成对象 serialize() //将对象转换成一个字符串 un…

配置小程序

小程序配置 1.全局配置 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置&#xff0c;决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。 完整配置项说明请参考小程序全局配置 以下是一个包含了部分常用配置选项的 app.json &#xff1a; {&q…

NVIDIA-最适合工作的公司第三位

NVIDIA 在《财富》杂志和卓越职场&#xff08;Great Place to Work&#xff09;最新评选出的“100 家最适合工作的公司”榜单上跃居第三位。 这是 NVIDIA 连续第八年上榜&#xff0c;也是在这个广受关注的榜单上排名最高的一次。该榜单有超过一千多家企业参与评选。去年 NVIDIA…

解决Linux下Java应用因内存不足而崩溃的问题

在Linux系统中运行内存密集型的Java应用时&#xff0c;经常会遇到因系统内存不足而导致应用崩溃的问题。本文将探讨如何诊断这类问题以及提供有效的解决方案。 问题诊断 首先&#xff0c;使用 free -h 命令查看系统的内存使用情况&#xff0c;得到以下输出&#xff1a; total…

聚观早报 | 小米15配置规格曝光;比亚迪车险开售

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 6月19日消息 小米15配置规格曝光 比亚迪车险开售 真我GT6细节曝光 极星汽车加速全球扩张 Model 3高性能版开启交…

windows anaconda 安装 Labelme

安装 # 创建环境 conda create -n labelme python3.6 #激活环境 conda activate labelme # 安装依赖 conda install pyqt conda install pillow # 安装labelme conda install labelme3.16.2 # 启动labelme labelme右键选择标注类型&#xff0c;从上到下为多边形&#xff08;常…

node-gyp在windows安装出错解决方案

错误1&#xff1a; error Error: getaddrinfo ENOTFOUND registry.nlark.com at GetAddrInfoReqWrap. 解决1&#xff1a; 修改yarn.lock文件里registry.nlark.com 改为 registry.npmmirror.com 错误2&#xff1a; gyp verb check python checking for Python executable &…

windows 程序右键管理员点击无响应

Windows 程序在右键单击以管理员身份运行时没有响应&#xff0c;可能是由于多种原因引起的。下面是一些常见的问题和解决方案&#xff1a; 1. 用户账户控制 (UAC) 设置问题&#xff1a; - 试着降低或提高 UAC 设置&#xff0c;然后再试一次。可以在控制面板的“用户账户”部…

计算机的五大功能部件应用及特点

目录 计算机的五大功能部件 1.现代计算机的结构 2.主存储器 ​​​​​​​ 3.运算器 4.控制器 5.各部件的特点 5.1主存特点 5.2外存特点 5.3运算器特点 5.4控制器特点 计算机的五大功能部件 1.现代计算机的结构 一般将运算器和控制器集成到同一个芯片上&#xff…

微前端乾坤方案

微前端乾坤方案 了解乾坤 官方文档 介绍 qiankun 是一个基于 single-spa 的微前端实现库&#xff0c;旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。 qiankun 的核心设计理念 &#x1f944; 简单 由于主应用微应用都能做到技术栈无关&#xff0c;qiankun 对…

CCS条形光源——HLDL3系列,长距离和宽范围照射应用的不二之选

机器视觉系统中&#xff0c;光源起着重要作用&#xff0c;不同类型的光源应用也不同&#xff0c;选择合适的光源成像效果非常明显。今天我们一起来看看CCS光源——工业用条形光源HLDL3系列。 高亮LED光源HLDL3系列 适用于长距离和宽范围照射的条形光源。 适用于各种检测案例&a…

LabVIEW如何进行电磁兼容性测试

电磁兼容性&#xff08;EMC&#xff09;测试是确保电子设备在其工作环境中能够正常运行且不会对其他设备产生有害干扰的关键步骤。LabVIEW作为一种强大的系统设计和开发工具&#xff0c;可以有效地用于电磁兼容性测试。以下是如何使用LabVIEW进行电磁兼容性测试的详细步骤和方法…

AlmaLinux 更换CN镜像地址

官方镜像列表 官方列表&#xff1a;https://mirrors.almalinux.org/CN 开头的站点&#xff0c;不同区域查询即可 一键更改镜像地址脚本 以下是更改从默认更改到阿里云地址 cat <<EOF>>/AlmaLinux_Update_repo.sh #!/bin/bash # -*- coding: utf-8 -*- # Author:…

HTML5 服务器发送事件(Server-Sent Events, SSE):实时数据传输的新篇章

在实时Web应用领域&#xff0c;HTML5 引入的 Server-Sent Events (SSE) 技术提供了一种轻量级的通信机制&#xff0c;使得服务器能够主动向客户端推送数据。与WebSocket相比&#xff0c;SSE更加简单易用&#xff0c;特别适合于单向通知、实时更新等场景。本文将深入探讨SSE的工…

Python8 使用结巴(jieba)分词并展示词云

Python的结巴&#xff08;jieba&#xff09;库是一个中文分词工具&#xff0c;主要用于对中文文本进行分词处理。它可以将输入的中文文本切分成一个个独立的词语&#xff0c;为后续的文本处理、分析、挖掘等任务提供基础支持。结巴库具有以下功能和特点&#xff1a; 中文分词&a…

大文件上传实现

分片上传 将大文件分割成多个小片&#xff08;chunk&#xff09;&#xff0c;逐个上传。每个片上传成功后&#xff0c;服务器可以返回确认信息。所有片上传完成后&#xff0c;服务器端将这些片重新组合成原始文件。 以下是一个简单的分片上传的前端实现示例&#xff1a; func…

C#——文件读取StreamRead和StreamWriter类详情

文件读取StreamRead和StreamWriter类 StreamReader 用于从字节流中读取字符StreamWriter 用于向一个流中写入字符 使用 读取 // using 使用&#xff0c;语句可以省去关闭StreamReader读写流 using (StreamReader sr new StreamReader("1.txt", Encoding.UTF8)) …

LVGL开发教程-Label文本

系列文章目录 知不足而奋进 望远山而前行 目录 系列文章目录 文章目录 前言 ​编辑 1. 文本显示 2. 使用字体 总结 前言 在嵌入式系统开发中&#xff0c;文本显示是一项基本而重要的功能。使用 LittlevGL&#xff08;LVGL&#xff09;库&#xff0c;我们可以轻松地创建…

程序人生 - iPhone 关机后,华为手表非凡大师居然还可以正常微信支付?

昨天&#xff0c;地铁上手机没电了&#xff0c;当时还担心出闸门和买晚饭的问题&#xff0c;虽然手表已经开通了 NFC 微信支付&#xff0c;但是我一开始的理解需要手机保持蓝牙开启的前提下才能正常使用&#xff0c;毕竟有时候手机离开手表&#xff0c;手表就会提示断线了。 但…

bms SRP引脚什么意思

SRP引脚通常是指电池管理系统&#xff08;BMS&#xff09;或相关电子设备中的一个专用引脚&#xff0c;它代表“Sense Resistor Positive”&#xff08;正采样电阻&#xff09;&#xff0c;用于电流检测和电流感测功能。在电池充放电过程中&#xff0c;通过监测连接到SRP引脚的…