盛最多水的容器(双指针)

在这里插入图片描述

解题思路:
1,暴力解法(超时)

我们可以使用两层for循环进行遍历。找到那个最大的面积即可,这里我就不写代码了,因为写了也是超时。

2,双指针法

先定义两个指针一个在最左端,一个在最右端:矩形的体积是 底*高 ,我们将两个指针之间的距离当做底,当两个指针移动时底一定会减小,所以如果此时高还在减小,那么他的面积肯定会减小,所以我们就找高增大的作为矩形的两边,因此就有了height[left] > height[right] 这个判断条件,每次移动后都要比较,并取最大的体积,然后重复循环即可。此算法的时间复杂度是O(n)。

代码实现
class Solution {public int maxArea(int[] height) {int left = 0,right = height.length - 1;int ret =0;while(left < right){int v = (right - left) * Math.min(height[left],height[right]);if(height[left] > height[right]){right--;}else {left++;}if( ret < v){ret = v;}}return ret;}
}

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

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

相关文章

C++ 派生类的引入与特性

一 继承与派生 从上面的例子可以看出&#xff1a; 继承&#xff1a;一旦指定了某种事物父代的本质特征&#xff0c;那么它的子代将会自动具有哪些性质。这就是一种朴素的可重用的概念。 派生&#xff1a;而且子代可以拥有父代没有的特性&#xff0c;这是可扩充的概念。 1 C 的…

Today At Apple 2024.04.15 Phone15 入门

官网&#xff1a; https://www.apple.com/today/Apple 亚洲第一大商店&#xff1a;Apple 静安零售店现已在上海开幕如下预约课程&#xff1a;下载 Apple Store&#xff08;不是app store&#xff09;&#xff0c;点击课程预约笔记&#xff1a;Today At Apple Notes果粉加群 &am…

Mybatis进阶详细用法

目录 条件构造器 案例 自定义SQL 案例 Service接口 案例 综合案例 条件构造器 案例 Testvoid testQueryMapper() {// 创建 QueryWrapper 实例QueryWrapper<User> queryWrapper new QueryWrapper<>();queryWrapper.select("id," "username,&…

Postman基础功能-变量设置与使用

如果你因失去太阳而流泪&#xff0c;那你也将失去群星了。大家好&#xff0c;在 API 测试的广袤世界中&#xff0c;Postman 犹如一座闪耀的灯塔&#xff0c;为我们指引着前行的方向。而其中的全局变量、集合变量和环境变量&#xff0c;更是如同隐藏的宝藏&#xff0c;蕴含着巨大…

电商秒杀系统设计

业务流程 系统架构 系统挑战 高并发:秒杀活动会在短时间内吸引大量用户,系统需要能够处理高峰时期的大量并发请求 库存同步:在秒杀中,面临的一个严重系统挑战是如何确保在数以万计的用户同时抢购有限的商品时,如何正确、实时地扣减库存,以防止超卖现象。 防止恶意抢购和…

猫头虎分享已解决Error || ERROR: Failed building wheel for XXX

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

系统定时器(SysTick)

介绍SysTick SysTick结构框图 时钟选择 计数器部分 中断部分 工作流程 相关寄存器 配置流程 相关库函数

centos无法tab补全至文件

很奇怪的需求&#xff1a;redhat 7.9版本用cd 只能到目录&#xff0c;无法到文件 我个人认为不是个问题&#xff0c;但是甲方需求&#xff0c;你懂的 首先&#xff0c;我们要搞清楚tab补全功能的包bash-completion是否安装&#xff0c;这里肯定是安装了&#xff0c;不过还是看…

你了解手机设备的dpr吗?它和CSS又有什么联系?

当我们在前端开发中涉及到devicePixelRatio时&#xff0c;我们实际上在谈论屏幕像素密度&#xff0c;即每英寸的像素数。这个属性告诉我们在一个设备上的一个CSS像素对应多少物理像素。 目录 知识点概览 dpr值的计算 dpr的用处 知识点概览 比如我们新买了一个手机&#xff0…

vue vite 环境非构建包编译 React 报错定位

1. 背景 众所周知&#xff0c;vite 在构建生态的位置&#xff0c;vue 与之更是密切&#xff0c;主流的 vue 库几乎都与 vite 捆绑。 但有些 UI 库 如 private/ui 并没进行行编译&#xff0c;而是直接将源码发布到了 npm 中&#xff0c;无法实现兼容化&#xff0c;需要消费方去…

vs-qt中无法加载qsqlite驱动,但是单独新建demo测试却又是正常的。。。

开发环境: Vs2015 + qt5.12 背景: 接手了一个项目,可以编译过去,也可以运行,, 但是登录一直失败,,但是数据库文件也是正常的。。。 最主要的是环境和同事的是一样的,,,但是他那边可以加载成功,我这边不可以。。 后来单独在vs中创建了一个demo,用来测试QSqlData…

Ubuntu虚拟机上推荐一款免费好用的git版本管理工具

工具叫: gitg 软件界面如下&#xff1a; FR:徐海涛(hunkxu)

开眼了,自动化测试还能这样用?

持续集成的自动化测试通常需要将代码、测试用例与持续集成工具进行绑定&#xff0c;以实现自动运行。然而&#xff0c;Apipost的自动化测试功能需要手动操作&#xff0c;并且需要手动查看测试结果。 为了解决这个问题&#xff0c;Apipost推出了持续集成功能&#xff0c;方便同…

【Shell】正则表达式的操作实例

正则表达式是一个描述一组字符串的模式 是由普通字符和元字符组成的字符集&#xff0c;而这个字符集匹配&#xff08;或指定&#xff09;一个模式。 正则表达式的操作实例 &#xff08;一&#xff09;概述1.定义2.作用3.类型 &#xff08;二&#xff09;字符串匹配实例&#xf…

【论文阅读】Machine Learning, Linear Algebra, and More: Is SQL All You Need?

文章目录 摘要一、介绍二、SQL算法原语2.1、Variables2.2、Functions2.3、Conditions2.4、Loops2.5、Errors 三、案例研究3.1、对数据库友好的SQL映射3.2、性能结果 四、结论以及未来工作 摘要 尽管SQL在简单的分析查询中无处不在&#xff0c;但它很少用于更复杂的计算&#xf…

文件流-ASCII文件(中北大学-程序设计基础(2))

目录 题目 源码 结果示例 题目 编写程序实现以下功能&#xff1a;【要求处理ASCII文件】 &#xff08;1&#xff09;按职工号由小到大的顺序将5个员工的数据&#xff08;包括号码、姓名、年龄和工资&#xff09;输出到磁盘文件中保存&#xff1b; &#xff08;2&#xff…

自动驾驶决策规划——坐标转换

以下内容来自b站up主忠厚老实的老王&#xff0c;视频链接&#xff1a;自动驾驶决策规划算法序章 总纲与大致目录_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1hP4y1p7es/?spm_id_from333.999.0.0&vd_sourced36e625f376908cfa88ef5ecf2fb0ed8侵删。 决策规划算法…

自动故障转移

这里询问&#xff0c;你的插槽是从哪里移动过来的&#xff1f; all&#xff1a;代表全部&#xff0c;也就是三个节点各转移一部分具体的id&#xff1a;目标节点的iddone&#xff1a;没有了 这里我们要从7001获取&#xff0c;因此填写7001的id&#xff1a; 填完后&#xff0c;…

力扣75. 颜色分类

Problem: 75. 颜色分类 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 由于题目只提供0&#xff0c;1&#xff0c;2分别代表颜色红、白、蓝&#xff0c;并按此排序&#xff0c;那么我们可以遍历两次数组&#xff0c;第一次将0&#xff0c;全部放到数组前面一部分…

移动 App 入侵与逆向破解技术-iOS 篇

如果您有耐心看完这篇文章&#xff0c;您将懂得如何着手进行app的分析、追踪、注入等实用的破解技术&#xff0c;另外&#xff0c;通过“入侵”&#xff0c;将帮助您理解如何规避常见的安全漏洞&#xff0c;文章大纲&#xff1a; 简单介绍ios二进制文件结构与入侵的原理介绍入…