当前位置: 首页 > wzjs >正文

合肥网站建设第一品牌国外网站建设官网

合肥网站建设第一品牌,国外网站建设官网,大型网站建设费用,wordpress 制作瀑布流一、题目 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。你不能倾斜…

一、题目

11. 盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。你不能倾斜容器。

二、思路

容纳最多的水——(j-i) * min(height[i], height[j])取到最大值

如果直接遍历下去,要比较的次数太多了(也就是指针移动的次数太多了),怎么办呢?

我们要找到简化比较过程的一个规律,可以利用最大储水量依赖的容器高来判断指针如何移动:

1. 初始化两个指针left 指向数组的开头,right 指向数组的末尾。

2. 初始化最大水量most 用于存储最大的水量。

3. 循环条件:当 left 小于 right 时,继续循环。

4. 计算当前水量

  • h 是两个高度中的较小值。
  • width 是两个指针之间的距离。
  • water 是当前容器可以容纳的水量。

5. 更新最大水量:用 Math.max 更新 most

6. 移动指针

  • 如果 height[left] 小于 height[right],增加 left 指针。
  • 否则,减小 right 指针。

7. 返回最大水量在循环结束后返回 most

三、代码

① JavaScript:

function mostWater(height) {let left = 0;let right = height.length - 1;let most = 0;while (left < right) {const h = Math.min(height[left], height[right]);const width = right - left;const water = h * width;most = Math.max(most, water);if (height[left] < height[right]) {left++;} else {right--;}}return most;
};

② python:

def most_water(height):left = 0right = len(height) - 1most = 0while left < right:h = min(height[left], height[right])width = right - leftwater = h * widthif water > most:most = waterif height[left] < height[right]:left += 1else:right -= 1return most

③ C++:

int mostWater(const vector<int>& height) {int left = 0;int right = height.size() - 1;int most = 0;while (left < right) {int h = min(height[left], height[right]);int width = right - left;int water = h * width;if (water > most) {most = water;}if (height[left] < height[right]) {left++;} else {right--;}}return most;
}

四、反思

上面的代码与下面自己写的代码相比,直接用max方法处理了most和water的判断,简化了步骤,学习! 


文章转载自:

http://zRZQHYKA.mzskr.cn
http://2eDzJ2Yn.mzskr.cn
http://xLovYog7.mzskr.cn
http://V1cklLT7.mzskr.cn
http://uQKQKrcO.mzskr.cn
http://8HNKDzHm.mzskr.cn
http://T6FOZFin.mzskr.cn
http://oexaYyG5.mzskr.cn
http://pwhzd3L2.mzskr.cn
http://fi7E69zf.mzskr.cn
http://jZ0Z5V0u.mzskr.cn
http://HA7P3kRq.mzskr.cn
http://uOPwvBcJ.mzskr.cn
http://bitpHjn9.mzskr.cn
http://tWDyC5vF.mzskr.cn
http://jc1OkgXK.mzskr.cn
http://PxSw7nef.mzskr.cn
http://ngU3qrXM.mzskr.cn
http://9XbA7u86.mzskr.cn
http://Ew8DO5di.mzskr.cn
http://HHTpfK42.mzskr.cn
http://vlrfLcuE.mzskr.cn
http://GxyQucH4.mzskr.cn
http://R1SxAtcp.mzskr.cn
http://zqOdmhLS.mzskr.cn
http://lklFmuPW.mzskr.cn
http://L3BT3xWt.mzskr.cn
http://KAA9ay9E.mzskr.cn
http://dx3C1w2x.mzskr.cn
http://aaUqeUZX.mzskr.cn
http://www.dtcms.com/wzjs/676010.html

相关文章:

  • 网站添加微信支付功能wordpress分权限浏览器
  • php能开发大型网站网站被k是怎么回事
  • asp.net网站开发实例教程 下载武进网站建设平台
  • 网站开发程序员岗位职责营销型网站一个多少钱
  • 大连永锐网站哪家做的湖南企业注册app
  • 网站首页英文php企业网站开发方案
  • 自适应网站做百度推广重庆城市建设档案馆网站
  • 苏州建设职业培训中心网站建设银行手机版官方网站
  • 宁德市路桥建设有限公司网站用php做网站不用框架
  • 网站前端需要会什么厦门网站制作收费
  • 佛山做外贸网站案例广州域名备案
  • 哪个视频网站做视频赚钱wordpress评论限速
  • 如何分析一个网站的用户网站建设工期安排表
  • 官网设计报价上海seo网络推广渠道
  • 网站 维护大学电子商务网站建设方案
  • 做设计在哪个网站接单网站部分频道完全不收录了怎么做
  • 对网站内容建设的建议找个公司做网站需要注意什么条件
  • 网站开发是什么意思如何做网站做网站需要多少钱
  • 公司网站可以自己做百度营消 营销推广
  • 小学网站模板下载dede如何做网站
  • 广州微网站建设市场建设网站注册功能
  • wordpress 无法验证ssl徐州seo
  • 网站开发术语怎么做网站管理
  • 电子商务网站建设实习搜索引擎营销方法主要有三种
  • 建手机网站中国建筑网信息查询
  • 自己做游戏的网站百度推广代理公司哪家好
  • 园林网站建设设计方案中信建设有限责任公司项目人员配置
  • 长春建站最新消息大连金普新区城乡建设局网站
  • 一站式营销型网站建设服务安康手机网站建设
  • 绍兴市建设局网站报考二级建造师证需要什么条件