[Leedcode][JAVA][第11题][盛最多水的容器][双指针][贪心]

【问题描述】11.盛最多水的容器

给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。示例:输入:[1,8,6,2,5,4,8,3,7]
输出:49

【解答思路】

1. 贪心算法 暴力

求解是要获得最大面积,即以第一个面积值作为假定的最大面积,然后不断的用更大的值刷新,直到将所有的面积都计算完毕。
S(i,j)=min(h[i],h[j])×(j−i)
时间复杂度:O(N^2) 空间复杂度:O(1)

class Solution {public int maxArea(int[] height) {int area = 0;for (int i = 0; i < height.length - 1; i++) {int iValue = height[i];for (int j = i + 1; j < height.length; j++) {int jValue = height[j];int hValue = Math.min(iValue, jValue);int lValue = j - i;int aValue = lValue * hValue; if (aValue > area) {area = aValue;}}}return area;}}
2. 双指针

时间复杂度:O(N) 空间复杂度:O(1)

    public int maxArea(int[] height) {int area = 0;for (int i = 0; i < height.length - 1; i++) {int iValue = height[i];for (int j = i + 1; j < height.length; j++) {int jValue = height[j];int hValue = Math.min(iValue, jValue);int lValue = j - i;int aValue = lValue * hValue; if (aValue > area) {area = aValue;}}}return area;}}

【总结】

1. 暴力法思考 逐渐优化
2. 双指针 相清楚移动哪一个可以优化
3.思路一开始找两个最大值,由内推到外,过于复杂,应及时放弃思路

在这里插入图片描述

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

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

相关文章

SAP S/4HANA使用ABAP获得生产订单的状态

在S/4HANA里&#xff0c;我们如何根据一个销售订单的行项目&#xff0c;查看对应的生产订单状态&#xff1f; 双击行项目&#xff1a; 点击Schedule line&#xff1a; 这里就能看到生产订单的ID和状态了。 其中订单的状态存储在表vsaufk里&#xff0c;注意订单和状态可以是1对多…

oracle 外部表 时间戳,Hive建立外部表与时间戳转换(含建dual表,修改列名,row_number() 函数等)...

建外部表&#xff0c;之前hadoop职位统计就是这么做的hive> drop table job;OKTime taken: 5.446 secondshive> show tables;OKTime taken: 0.018 secondshive> create external table job(area string, experience string, degree string,> num string, salary st…

http:(1):http简介

HTTP 简介 HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写,是用于从万维网&#xff08;WWW:World Wide Web &#xff09;服务器传输超文本到本地浏览器的传送协议。。 HTTP是一个基于TCP/IP通信协议来传递数据&#xff08;HTML 文件, …

[Leedcode][JAVA][第466题][统计重复个数][数组]

【问题描述】466. 统计重复个数 由 n 个连接的字符串 s 组成字符串 S&#xff0c;记作 S [s,n]。例如&#xff0c;["abc",3]“abcabcabc”。如果我们可以从 s2 中删除某些字符使其变为 s1&#xff0c;则称字符串 s1 可以从字符串 s2 获得。例如&#xff0c;根据定义…

phantomJs原理

引用文段&#xff1a;链接&#xff1a;https://www.jianshu.com/p/0254391918f7 网页渲染可分为服务端渲染和客户端渲染&#xff0c;前者是指你在浏览器地址栏输入一个网址&#xff0c;Web服务器处理请求过程就将所有需要呈现的html元素都构造好了&#xff0c;浏览器收到响应就…

oracle t44,SecureFiles LOBs基础知识之存储篇

SecureFiles LOBs相比于BasicFilesLOBs具有加密(encryption)、去重(deduplicaiton)、压缩(compression)等新功能&#xff0c;pctversion&#xff0c;chunksize等参数也仅仅为了向后兼容而保留&#xff0c;因此SecureFiles LOBs的自适应能力更强&#xff0c;在管理上更为简化&am…

http:(2):http请求方法

HTTP 请求方法 根据 HTTP 标准&#xff0c;HTTP 请求可以使用多种请求方法。 HTTP1.0 定义了三种请求方法&#xff1a; GET, POST 和 HEAD方法。 HTTP1.1 新增了六种请求方法&#xff1a;OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。 序 号 方法 描述 1 GET …

[Leedcode][JAVA][第200题][岛屿数量][DFS][BFS][并查集]

【问题描述】 第200题 岛屿数量 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外&#xf…

python闯关_Day012

day012 用python实现信息卡管理及购物商城的项目 需求 #需求: 1 这是一个信用卡管理程序 2 用户手持信用卡购物&#xff0c;使用函数&#xff0c;按照软件开发规范 3 用户名密码存放于文件中&#xff0c;支持多用户登陆&#xff0c;使用json 4 程序启动&#xff0c;先登录或者…

http:(3):http响应头信息

HTTP 响应头信息 HTTP请求头提供了关于请求&#xff0c;响应或者其他的发送实体的信息。 在本章节中我们将具体来介绍HTTP响应头信息。 应答头 说明 Allow 服务器支持哪些请求方法&#xff08;如GET、POST等&#xff09;。 Content-Encoding 文档的编码&#xff08;En…

php 强制刷新一次,强制浏览器使用PHP刷新所有内容

一个问题&#xff0c;特别是在创建AJAX应用程序时&#xff0c;是浏览器可以缓存页面的内容&#xff0c;以便在发出类似请求时&#xff0c;可以呈现相同的内容。要强制浏览器显示所需内容而不进行缓存&#xff0c;可以在页面中添加以下标题。header("HTTP/1.1 202 Accepted…

[Leedcode][JAVA][第1248题][统计「优美子数组][找规律]

【问题描述】 1248. 统计「优美子数组」 给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字&#xff0c;我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。 示例 1&#xff1a;输入&#xff1a;nums [1,1,2,1,1]…

[ubuntu setting]Change system language

1.Open the software "语言支持". ​ 2.Then select "English" lauguage, an apply to whole system. ​ 3.reboot system. [end]转载于:https://www.cnblogs.com/lizhuohui/p/10274356.html

http:(4):http请求方法

HTTP 消息结构 HTTP是基于客户端/服务端&#xff08;C/S&#xff09;的架构模型&#xff0c;通过一个可靠的链接来交换信息&#xff0c;是一个无状态的请求/响应协议。 一个HTTP"客户端"是一个应用程序&#xff08;Web浏览器或其他任何客户端&#xff09;&#xff…

oracle控制文件全备失败,Oracle数据库案例整理-恢复数据库失败-主备机控制文件所在目录不同...

1.1 现象描述使用主机节点的控制文件在备机节点上进行恢复时失败。 主节点控制文件目录为&#xff1a;“/opt/HUAWEI/cgp/workshop/omu/database/control_file/f0s11”。控制文件为&#xff1a;-rwxrwxr-x 1 oracle oinstall 10043392 Apr 23 14:11 control01.ct…

[Leedcode][JAVA][第199题][二叉树的右视图][BFS][DFS][前中后序遍历]

【问题描述】199.二叉树的右视图 给定一棵二叉树&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释:1 <---/ \ 2 3 <---\…

基于声音的击键信号识别

摘要 本文文章采用击键信号的短时能量及峰值片段的幅度及各个幅度对应的频率作为特征向量。采用声音搜集装置搜集敲击键盘产生的声音信号&#xff0c;并对声音信号进行巴特沃斯滤波方法进行滤波预处理&#xff1b;将上述经过滤波得到的信号减去环境背景信号&#xff0c;得到当…

http:(5):http状态码

HTTP状态码 当浏览者访问一个网页时&#xff0c;浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前&#xff0c;此网页所在的服务器会返回一个包含HTTP状态码的信息头&#xff08;server header&#xff09;用以响应浏览器的请求。 HTTP状态码的英文为HTT…

oracle怎么从大字段中取节点,Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值...

参照: Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串背景:在写存储过程时,需要获取表单提交的信息。表单信息是以xml格式的字符串存储在colb类型的字段dataxml中&#xff0c;如何获取呢&#xff1f;参考百度内容&#xff0c;写一个function(函数)&#xff0c;参数…

[爬虫][python][入门][网页源码][百度图片][豆瓣TOP250]

Robots协议 查看爬取规则 遵守相关法律法规 Robots协议&#xff08;也称为爬虫协议、机器人协议等&#xff09;的全称是“网络爬虫排除标准”&#xff08;Robots Exclusion Protocol&#xff09;&#xff0c;网站通过Robots协议告诉爬虫哪些页面可以抓取&#xff0c;哪些页面不…