LeetCode解题报告--Container With Most Water

操作系统安全状态检查之银行家算法 在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方法中把系统的状态分为安全状态和不安全状态,只要能使系统始终都处于安全状态,便可以避免发生死锁。 银行家算法的基本思想是分配资源之前,判断系统是否是安全的;若是,才分配。它是最具有代表性的避免死锁的算法。 立即下载

题目:最大的盛水容器

Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

Note: You may not slant the container.

原题链接地址:https://leetcode.com/problems/container-with-most-water/
分析:题意是给定长度为n整型数组height;分别构成(1,height[1]),(2,height[2]),….(n,height[n])坐标点,找出两个点分别过这些点做垂直X轴的垂线,以及连接这两个点,与X轴构成长方形容器,求该容器的最大值!
通过两个变量leftHeiht,rightHeight分别指向数组height的最左端和最右端,这样宽度最大,当缩小宽度,则需要寻找较大的高度。
做简单证明
这里写图片描述
Java 代码:(accepted)

public class ContainerWithMostWater {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] a = { 1, 4, 5, 6, 3, 8, 9, 12, 45 };
        System.out.println("Max Area is : " + maxArea(a));
        int[] a1 = { 12,45,32,78,11,23,14 };
        System.out.println("Max Area is : " + maxArea(a1));
        int[] a2 = { 90,34,45,21,43,32};
        System.out.println("Max Area is : " + maxArea(a2));
    }

    public static int maxArea(int[] height) {

        int maxArea = 0; // The max area
        int leftHight = 0;
        int rigtHight = height.length - 1;

        while (leftHight < rigtHight) {
            //Calculate the max area 
            maxArea = Math.max(maxArea, (rigtHight - leftHight)
                    * Math.min(height[leftHight], height[rigtHight]));
            //Because of cast effect, hence choose shortest height

            if (height[leftHight] > height[rigtHight])
                rigtHight--;
            else
                leftHight++;
            //System.out.println("Left: " + height[leftHight] + " " + leftHight + " Right: " + height[rigtHight] + " " + rigtHight);
            //System.out.println("Max Area: " + maxArea);
        }
        return maxArea;
    }

}

测试结果:

Max Area is : 30
Max Area is : 92
Max Area is : 172

相关代码放在个人github:https://github.com/gannyee/LeetCode/tree/master/src

python电子学会三级的零碎笔记 ‌示例‌:如果s = ['a', 'b', 'c'],则' '.join(s)+'\n'的结果是'a b c\n',写入文件时所有元素会在一行内显示,每个元素之间用空格分隔,末尾有一个换行符。(2) '\n'.join(s)‌:如果s = ['a', 'b', 'c'],则'\n'.join(s)的结果是'a\nb\nc',写入文件时每个元素会占据文件的一行。(1) ' '.join(s)+'\n'‌:这种方式首先将列表s中的每个元素通过空格连接成一个字符串,然后在字符串末尾添加一个换行符\n。 阅读详情

相关推荐

Camera AF和FF

Camera按对焦功能可以分为FF(Fixed Focus)和AF(Auto Focus),即固定对焦和自动对焦。固定对焦顾名思义就是焦距是固定的,而自动对焦可以通过移动镜头位置来改变焦距从而实现自动对焦。以前摄像的功能机大多是固定对焦,现在的手机都带有自动对焦功能。 FF模组包括镜头(Lens),传感器(Sensor),红外滤色器(IR Filter),电路板(PCB),镜头支撑(Lens Holder),连接器(Connector)。 Fig 1. FF Module AF模组包括FF模组,音圈马达(V

Coppa的博客 1万+

银行家算法C++实现

网上有很多银行家算法的源代码,下面是本人自己写的,基本算法模型参考教材。 介绍 银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉(Edsger Wybe Dijkstra)在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。 背景简介 在银行中...

lingpy的博客 3万+

接入穿山甲SDK时,Unity打Android包报错日志

SDK工程设置为Enable,项目工程设置为Disable。2、将unitypackage导入包名为:com.DefaultCompany.Myproject的另一个工程,打包报错。3、点击工程默认弹出Enable Android Auto-resolution 设置选项,点击Enable。1、新建一个空工程,设置包名为:com.ceshi.hewen,正常打包无报错,导出unitypackage。2、点击Reset to Defaults 重置参数,再点击ok关闭设置窗口。

不文不武的禾文 3582

银行家算法

前言 操作系统在解决死锁问题的时候,有四个大的方向,分别是预防死锁,避免死锁,检测死锁和解除死锁。而今天要讲的银行家算法是著名的避免死锁算法的代表。 安全状态 避免死锁的定义:在资源动态分配的过程中,防止系统进入不安全状态。 由定义可知道,要想实现避免死锁,那么就必须让进城资源分配处于安全状态,所谓安全状态就是系统能按照某种进城推进顺序(安全序列)进行。 上面的定义可能比较抽象,下面用一个实例来...

码的世界 2万+

华硕笔记本全硬盘恢复原厂状态 实机操作,MYASUS IN WINRE恢复,ASUS RECOVERY恢复

本教程的前提的在之前就备份了原厂的RECOVERY分区,RESTORE分区,MYASUS分区 如果这些分区都没有的话那就只能找同型号笔记本的朋友要一份了,或者去售后,告诉他这三个分区都要恢复。一般售后为了节约硬盘空间,不会给你恢复restore分区,这个分区有将近20G。 我机器撒天选2 i7-11800H,3060,32G,512GB,型号FX506HM 这篇教程先说全格式化怎么做,下次有空再说免格式化怎么弄。下面开始。 首先首先你的先做给优盘或者移动硬盘做一个PE。网上做PE启动盘的教程很多,这

JamesCurtis的博客 3万+

2024年厦门市第31届小学生C++信息学竞赛试题与解析(第一部分选择题1-10)

2024年厦门市第31届小学生C++信息学竞赛试题与解析(第一部分选择题1-10)

汉克老师的博客 105

银行家算法解题思路

首先你一定要知道这个算法是伟大的地杰斯特拉设计的。 这个算法是干啥的我就不介绍了,不知道的需要百度一下。 接下来的几个名词很重要一定要记住: 可利用资源向量Available——就是系统可以分配的每种资源有多少 最大需求矩阵MAX——就是进程能获得的每种资源的数量是多少 分配矩阵Allocation——就是进程现在分到了多少资源 Need——每个进程还需要的剩余资源 Ne

qq_38251430的博客 1万+

Windows VHD的新玩法——设置任意挂载点

vhd 挂载隐藏的虚拟分区 详细过程 分别使用CreateVirtualDisk和OpenVirtalDisk来创建和打开虚拟磁盘文件。 使用AttachVirtualDisk,必须具有管理员权限才能成功执行此步骤。 初始化设备(延时Sleep),获取附加 VHD 的 UNC 路径:\\.\PhysicalDrive# 。 使用FindFirstVolume/FindNextVolume枚举已安装的卷以查找虚拟磁盘上的卷。 使用SetVolumeMountPoint将卷挂载到文件夹或者设

圣三一 2583

【C++】实现银行家算法

#include &amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;amp;amp;gt; using namespace std; const int N = 5;///进程数目 const int M = 3;///资源类型数目 int AllResource[M]= {10,5,7}; ///各类类型资源矩阵 int Available[M];///可用的资源向量 int Request[M]

feng_zhiyu的博客 4854

基于单片机设计的智能消防排烟窗控制系统_422

随着城市化进程的不断加快,高层建筑、大型商业综合体以及地下空间的数量迅速增加,建筑内部结构日趋复杂,一旦发生火灾,烟雾和有毒气体往往比明火更具威胁性。大量研究表明,在火灾事故中,人员伤亡的主要原因并非直接烧伤,而是由于吸入烟雾及一氧化碳等有毒气体导致窒息。因此,如何在火灾初期快速排烟、降低有害气体浓度,并及时进行预警,成为现代消防系统设计中的关键问题。传统的消防排烟系统多依赖人工操作或简单的联动控制方式,存在响应滞后、自动化程度低、信息反馈不及时等问题。在实际应用中,当火灾发生时,如果不能第一时间开启排烟窗

366

3、基于视觉的智能分拣机:原理、算法与应用

本文介绍了一种基于视觉的智能分拣系统,利用树莓派、相机模块和多种检测算法实现低成本、高精度的物体分拣。系统支持颜色、形状和尺寸三种检测方式,准确率达99%,广泛适用于制造业、农业和物流等领域。文章详细阐述了各检测算法原理、测试结果及系统优化方向,并探讨了其实际应用案例与未来发展前景。

mqtt6iot的博客 236

【LeetCode】11. Container With Most Water 解题报告

转载请注明出处:http://blog.youkuaiyun.com/crazy1235/article/details/51541984Subject 出处:https://leetcode.com/problems/container-with-most-water/ Given n non-negative integers a1, a2, …, an, where each represents

crazy_jack 6048

2026华为OD面试题029:勇攀数字高峰

在给定的数字地形图里寻找登山路径,数字代表当前位置的海拔高度。要求从最低海拔出发,不断攀登,最终到达最高山峰。地图保证最低海拔和最高山峰都只有一个。 登山规则: - 路径上的海拔必须严格递增 - 只能向上下左右 4 个方向移动 - 路径必须从最低海拔开始,到最高海拔结束 - 每个地点只能走一次 - 每一步的攀登高度差必须大于 0,且不超过指定值 `K` 输出满足条件的登山路径的数量。

琅嬛福地 112

【LeetCode】Container With Most Water 解题报告

【题目】 Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i,

跳出温水的青蛙 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

leetcode解题报告11. Container With Most Water

leetcode解题报告11. Container With Most Water题目地址 难度是medium题目描述原文: Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that th

sysu_xiaoming的博客 274

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Leetcode Container With Most Water 解题报告

题目地址:http://oj.leetcode.com/problems/container-with-most-water/ 基本描述:x轴上在1,2,...,n点上有许多垂直的线段,长度依次是a1, a2, ..., an。找出两条线段,使他们和x抽围成的面积最大。 这道题也是美团笔试的最后一道题。

算法的天空 3990

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[LeetCode] Container With Most Water 解题报告

[题目] Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find t

hubin00sx的博客 1005

[LeetCode]Container With Most Water, 解题报告

前言 难怪LeetCode OJ在找工作时被很多人推荐,发现了这道最大蓄水题目就是美团的笔试最后一道题,当时我霸笔只有着一道题目没有答出来,因此也就没有获得面试机会,可惜了 题目 Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate ...

anjueci1221的博客 103

LeetCode: Container With Most Water 解题报告

Container With Most WaterGiven n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ...

weixin_30596165的博客 189

[leetcode] 11. Container With Most Water 解题报告

题目链接:https://leetcode.com/problems/container-with-most-water/ Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn su

小榕流光的专栏 389

【LeetCode】11. Container With Most Water 解题报告(Python)

题目分析: 给定n个数的链表(n&gt;=2),把数值当做柱体的高,横坐标差当做底(相邻差值为1),计算构成的最大的面积,如图所示: Input: [1,8,6,2,5,4,8,3,7] Output: 49 首先想到暴力双循环,emm我这智商也是够了(TLE),应该用两个指针一左一右向中间移动进行计算。 代码说明: 定义i和j两个指针分别指向数组的左右两端,然后两个指针向中间搜索...

L141210113的专栏 407

[LeetCode 解题报告]011.Container With Most Water

Description: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) a

CVer 1703

LeetCode 11. Container With Most Water解题报告

LeetCode 11. Container With Most Water解题报告

rjx博客 324
上一篇: LeetCode解题报告--Palindrome Number
下一篇: LeetCode解题报告--Integer to Roman
YatKam
博客等级 码龄12年 58粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值