Leetcode--11. 盛水最多的容器

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器,且 n 的值至少为 2。

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例:

输入: [1,8,6,2,5,4,8,3,7]
输出: 49

一 暴力解法

public class Solution11 {
    public static int maxArea(int[] height) {
         int i,j,max=0;
         int n = height.length;
         for(i=0;i<n;i++)
         {
             for(j=i;j<n;j++)
             {
                 if((j-i)*java.lang.Math.min(height[i], height[j])>max)
                 {
                     max = (j-i)*java.lang.Math.min(height[i], height[j]);
                 }
             }
         }
         return max;
            
        }
     public static void main(String[] args)
     {
         int[] a = {1,8,6,2,5,4,8,3,7};
         System.out.println(maxArea(a));
     }

}

二 双标记法 

首尾各设置一个标记,每一次的面积都决定于宽度和短柱子的高度,

所以只需要变化短柱子即可。

i,j分别放置于首尾处,如果第一根柱子短,i向后移动一位,否则,j向前移动一位


public class Solution11 {
    
    public static int maxArea(int[] height) {
         int i,j,max=0;
         int n = height.length;
         i=0;j=n-1;
         while(i<j)
         {
             if((j-i)*java.lang.Math.min(height[i], height[j])>max)
             {
                 max = (j-i)*java.lang.Math.min(height[i], height[j]);
             }
             if(height[i]>height[j])
             {
                 j--;
             }
             else
             {
                 i++;
             }
         }
         return max;
            
        }
     public static void main(String[] args)
     {
         int[] a = {1,8,6,2,5,4,8,3,7};
         System.out.println(maxArea(a));
     }
}
 

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

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

相关文章

《城市大脑全球标准研究报告》发布会将于12月23号在北京举办

城市大脑全球标准研究组《城市大脑全球标准研究报告》发布会将于2020年12月23日下午在北京海淀区城市大脑展览厅举办&#xff0c;发布会除了报告发布&#xff0c;智能产业专家演讲&#xff0c;也将参观海淀城市大脑的发展情况。欢迎新闻媒体、科研机构、科技企业、政府部门的记…

竞态条件与临界区

在同一程序中运行多个线程本身不会导致问题&#xff0c;问题在于多个线程访问了相同的资源。如&#xff0c;同一内存区&#xff08;变量&#xff0c;数组&#xff0c;或对象&#xff09;、系统&#xff08;数据库&#xff0c;web services等&#xff09;或文件。实际上&#xf…

java 实现打印条形码_条码打印软件中如何设置条形码下面的字符间距?

条形码有两部分组成&#xff0c;上面是黑白条图案&#xff0c;用于扫描设备的识别&#xff0c;下面是条形码数据&#xff0c;方便在没有扫描设备的情况下可以手动去搜索相关的信息。一般用条码打印软件制作条形码&#xff0c;下面的条形码数据间距是自动生成的&#xff0c;而在…

计算机科学分为几个部分,计算机由几部分组成各部分的功能是什么

推荐回答一、数值计算计算机广泛地应用于科学和工程技术方面的计算&#xff0c;这是计算机应用的一个基本方面&#xff0c;也是我们比较熟悉的。如&#xff1a;人造卫星轨迹计算&#xff0c;导弹发射的各项参数的计算&#xff0c;房屋抗震强度的计算等。二、数据处理用计算机对…

用跑得最慢的电脑程序,理解最高深的哥德巴赫猜想

五条规则的图灵机可视化。每列像素代表一步计算&#xff0c;步骤从左到右。黑色代表1。最右边表示图灵机的停机。&#xff08;图片来源&#xff1a;Peter Krumins/Quanta Magazine&#xff09;文章来源&#xff1a;环球科学“忙碌的河狸”这个问题的目的是为了找到运行时间最长…

Leetcode--42.接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图&#xff0c;在这种情况下&#xff0c;可以接 6 个单位的雨水&#xff08;蓝色部分表示雨水&#…

(4)Python3笔记 之 流程控制

一、条件控制 # 语法规则 if 变量(或表达式):语句块1 elif 变量(或表达式):语句块2 else:语句块3#示例 score 83 if score > 90:print(优秀) elif score > 60 and score < 90:print(及格) else:print(不及格) 二、循环 1&#xff09;. while循环 i 0 sum 0 while i…

云专网和云专线的区别_传统IDC行业与云计算的区别?

1.传统IDC行业和云计算在服务类型上的区别&#xff1a;传统IDC行业主要是有两种模式&#xff1a;租用和托管租用是自己没有服务器&#xff0c;机房提供服务器、带宽、IP地址、机位、服务器维护等。这种模式是租用。托管是自己购买配置服务器&#xff0c;通过快递、物流等方式把…

计算机插件技术应用原理,计算机软件技术中插件技术的运用

计算机软件技术中插件技术的运用在我国科技水平的不断提升下,计算机软件方面的功能也在持续更新。其中插件技术作为计算机软件中实用性比较强的一项功能,一直被研究分析。下面是小编搜集整理的相关内容的论文&#xff0c;欢迎大家阅读参考。摘要&#xff1a;随着经济和科学技术…

未来30年,这20项技术将颠覆人类生活

来源&#xff1a;嵌入式资讯精选美国公布了一份长达35页的《新兴科技趋势报告》。该报告是在美国过去五年内由政府机构、咨询机构、智囊团、科研机构等发表的32份科技趋势相关研究调查报告的基础上提炼形成的。通过对近700项科技趋势的综合比对分析&#xff0c;最终明确了20项最…

攻克数据库核心技术壁垒,实现百万级QPS的高吞吐

CynosDB是腾讯云自研的新一代高性能高可用的企业级分布式云数据库。融合了传统数据库、云计算与新硬件的优势&#xff0c;100%兼容开源数据库&#xff0c;百万级QPS的高吞吐&#xff0c;不限存储&#xff0c;价格仅为商用数据库的1/10。 CynosDB设计出发点: 随着云计算2.0时代的…

Leetcode--55. 跳跃游戏

给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。 示例 2: 输…

ccxprocess启动项可以禁用么_Mac怎么禁用Adobe无用自启项?

最近有使用Mac的用户询问小编Mac如何禁用Adobe无用自启项&#xff1f;每次开机Adobe都会无用自启&#xff0c;那么Mac如何禁用Adobe无用自启项&#xff0c;跟着小编一起来看看Mac禁用Adobe无用自启项教程。Mac禁用Adobe无用自启项教程&#xff1a;一&#xff1a;通过以下路径找…

某中学要对学校运动会进行计算机管理,2020年新编高职入学考试适应性试卷信息技术试卷定稿名师精品资料....

2015年福建省高等职业教育入学考试(面向普通高中考生)信息技术适应性试卷考试时间&#xff1a;120分钟&#xff0c;满分&#xff1a;150分一、选择题&#xff1a;(60分)1. 下列关于信息的说法&#xff0c;正确的是A.信息的形态不能转化B.信息有多种传播形式C. 载体本身就是信息…

CLion之C++框架篇-安装工具,基础框架的搭建(一)

CLion之C框架篇-安装工具&#xff0c;基础框架的搭建&#xff08;一&#xff09; 背景日常学习C&#xff0c;也就是看看书、在vim里写写代码。在日常项目开发中&#xff0c;也是边看书&#xff08;一是系统性理解、二是找找有什么更好的代码编写方式&#xff09;边写代码&#…

学术评论:“类脑计算完备性(Neuromorphic completeness)”概念定义中的问题

作者&#xff1a;程京德文章出处&#xff1a;程京德科学网博客链接地址&#xff1a;http://blog.sciencenet.cn/blog-2371919-1262267.html 2020年10月&#xff0c;“Nature”杂志发表了清华团队题为“A system hierarchy for brain-inspired computing”的论文 [1]&#xff0c…

Leetcode--12. 整数转罗马数字

罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例…

python三国演义人物 统计分析前20个_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...

一、安装所需要的第三方库jieba (jieba是优秀的中文分词第三分库)pyecharts (一个优秀的数据可视化库)使用pycharm安装库打开Pycharm选择【File】下的Settings出现下面页面,选择右边的【】出现下面页面&#xff0c;在此页面顶端搜索想要的库&#xff0c;然后安装就可以了二、编…

沈航计算机考研上岸,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼再写一下我的初试经验。今天晚上有时间再更初试政治&#xff1a;政治切忌开始太早&#xff0c;战线过长&#xff0c;我是从9月开始&#xff0c;跟着肖秀荣的视频课看了一遍精讲精练&#xff0c;做了一遍1000题&#xff0c;一遍真题…

你真的了解盒模型么

说到前端, 大家第一反应是不是都是vue、react、webpack等这些大大小小的框架或者工具, 但其实这些都是和js相关的, 真正的样式会被大家忽略。其实真正呈现给大家看到华丽的页面, 都是样式才让他们多了那份色彩。那么大家觉得简单的css样式, 真的简单么? 让我们一起来看下, 开启…