算法探索_盛最多水的容器
问题描述:
给你 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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/container-with-most-water
解决思路:
我已经在注释中写明了过程,这道题的难度咋一看还行,仔细一看就简单异常
1.首先确认它的面积公式:随便挑两个数,下标的差值乘以两数的较小数
2.列出所有可能性(这边有一个优化点)
去除前后颠倒但是结果一样的组合 (从前往后扫描,去除反向扫描)
也就是说 每次扫描只要扫描 i往后的数 故j=i+1
/**作者:赵星海*时间:2020/7/25 14:53*用途:盛最多水的容器*/public int maxArea(int[] height) {//首先要明白 随便挑两个数 它的面积公式是 下标的差值乘以两数的较小数int max = 0;//简单粗暴,列出所有可能性for(int i = 0;i<height.length-1;i++){//j=i+1 提高效率 去除前后颠倒结果一样的组合 (从前往后扫描,去除反向扫描)for(int j= i+1;j<height.length;j++){int x = (j-i)*Math.min(height[i],height[j]);if(x>max){max = x;}}}return max;}
执行结果:
算法探索_盛最多水的容器相关推荐
- 漫画:腾讯面试题(盛最多水的容器)
来自:小浩算法 01 PART 盛最多水的容器 这道题目会了的朋友可能觉得很简单,但是我觉得这题实在很经典,所以还是得拿出来讲讲.还有一个进阶版本"接雨水",将在后面为大家讲解. ...
- leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
- 算法题解(Leetcode 11、15、17、19、20:盛最多水的容器、三数之和、电话号码的字母组合、删除链表的倒数第 N 个结点、有效的括号)
文章目录 [11. 盛最多水的容器 - 中等 - 9/7](https://leetcode-cn.com/problems/container-with-most-water/) [15. 三数之和 ...
- 算法leetcode|11. 盛最多水的容器(rust重拳出击)
文章目录 11. 盛最多水的容器: 样例 1: 样例 2: 提示: 原题传送门: 分析 题解 rust go c++ java typescript python 11. 盛最多水的容器: 给定一个长 ...
- 探索LeetCode【0011】盛最多水的容器(已懂)
目录 0. 题目 1. 官方解答一(已懂) 2. 精简解答二(已懂) 3. 正确性解释 0. 题目 题目链接:[0011]盛最多水的容器 给定一个长度为 n 的整数数组 height .有 n 条垂线 ...
- [Leedcode][JAVA][第11题][盛最多水的容器][双指针][贪心]
[问题描述]11.盛最多水的容器 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 ...
- 2022-6-13 全O(1)的数据结构,两数相加,无重复字符的最长子串,寻找两个正序数组的中位数,盛最多水的容器,......
1. 全 O(1) 的数据结构 Design a data structure to store the strings' count with the ability to return the s ...
- 每日一道 LeetCode (51):盛最多水的容器
每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...
- 【LeetCode】1. 盛最多水的容器:C#三种解法
题目:https://leetcode-cn.com/problems/container-with-most-water/ 盛最多水的容器 难度:中等 给你 n 个非负整数 a1,a2,...,an ...
最新文章
- 解决读写Excel的第三方类库as3xls无法读取中文和写入中文的问题
- ASP.NET WebApi OWIN 实现 OAuth 2.0
- CentOS 6.9下OpenLDAP 的安装与配置
- OpenGL无边界的纹理实例
- java里面value_「Java基础知识」Java中包含哪些运算符
- Linux系统编程4:入门篇之最强编辑器vim的使用攻略
- 如何在Python中获取周数?
- 【特色团队采访】慌呀哩团队,用简洁算法达成高效协作
- 7个步骤:让JavaScript变得更好
- python︱利用dlib和opencv实现简单换脸、人脸对齐、关键点定位与画图
- matlab节约里程法_新手求大神指导,MATLAB中怎么使用节约里程法
- 数据库的第一范式、第二范式、第三范式,BCNF范式
- 善于总结、不断反思做更好的自己
- java上机练习题,java上机练习题
- 《胡雪岩》影评10篇
- 南邮计算机科学专业自我鉴定,大学毕业登记表个人的自我鉴定(精选5篇)
- 电子商务网站设计中信息安全防御
- 想实现华为BLM模型,人力资源必不可少
- 论颈椎病与架构师的关系
- 天道酬勤系列之AC620简介