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

Leetcode 11.乘最多水的容器(字节,快手面试题)

题目链接:11. 盛最多水的容器 - 力扣(LeetCode)

题目描述:

给定一个长度为 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。

解题思路:双指针

可容纳的最大体积由最小的那个值决定

1.定义左右两个指针分别代表容器最左和最右板

2.首先判断所给数组的长度,若<=1,则直接返回0

3.若==2,说明只有两个元素,宽为1,可容纳体积为,高为最小元素

4.初始化体积为左右指针的较小值为高,宽为左右指针的差值

5.每次判断左右指针指向值的大小,总是为了保证容积的最大值,所以移动指针值小的那一个

代码:

class Solution:def maxArea(self, height: List[int]) -> int:left = 0n = len(height)right = n - 1if n <= 1:return 0if n == 2 :return min(height[0],height[1])max_v = min(height[left],height[right]) * ( n-1 )while left < right :if height[left] < height[right]:left += 1v = min(height[left],height[right]) * (right - left)max_v = max(v,max_v)elif height[right] <= height[left]:right -= 1v = min(height[left],height[right]) * (right - left)max_v = max(v,max_v)return max_v

相关文章:

  • 【Spring基础3】- Spring的入门程序
  • 【python进阶攻略13】协程、内存copy、多进程
  • AI大模型面试大纲
  • Flutter中使用FFI的方式链接C/C++的so库(harmonyos)
  • 万象奥科工业平板上线,邀您体验与众不同!
  • 聊一下数据脱敏
  • 【机器学习(五)】分类和回归任务-AdaBoost算法
  • webpack 4 的 30 个步骤构建 react 开发环境
  • .NET CORE程序发布IIS后报错误 500.19
  • 嵌入式必懂微控制器选型:STM32、ESP32、AVR与PIC的比较分析
  • 银河麒麟,apt 安装软件报错640Unknown Status
  • JUC高并发编程5:多线程锁
  • 滚雪球学Oracle[7.1讲]:Oracle云数据库
  • Android Studio | 无法识别Icons.Default.Spa中的Spa
  • 实用工具推荐---- PDF 转换
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 【知识碎片】第三方登录弹窗效果
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Laravel 中的一个后期静态绑定
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • PHP变量
  • python docx文档转html页面
  • vue总结
  • 基于HAProxy的高性能缓存服务器nuster
  • 基于组件的设计工作流与界面抽象
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 优化 Vue 项目编译文件大小
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​乐​​牛一​面​​​游​​卡​​一​二​​​​面​
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​香农与信息论三大定律
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #pragma预处理命令
  • (4) PIVOT 和 UPIVOT 的使用
  • (6)添加vue-cookie
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (八十八)VFL语言初步 - 实现布局
  • (笔记自用)LeetCode:快乐数
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)计算机毕业设计高校学生选课系统
  • (九)信息融合方式简介
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (原創) 物件導向與老子思想 (OO)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Linux下编译安装log4cxx
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • ***详解账号泄露:全球约1亿用户已泄露