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

建设网站需要的ftp资源石家庄房产网

建设网站需要的ftp资源,石家庄房产网,成都防疫政策最新,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://www.dtcms.com/a/399816.html

相关文章:

  • 开发避坑指南(55):基于路由守卫的Vue2/Vue3 Tab页查询状态保留方案
  • 如何设计一个版本统一的前端接入层来适配多版本验证码
  • 电子商务网站开发问题研究山西手机网站建设
  • 【Vue3】 - 解析Markdown内容生成侧边栏Toc目录索引
  • wordpress 用法成都优化网站厂家
  • 从零开始循序渐进地学习Conda环境管理
  • 网站服务费怎么做分录四川城乡与建设厅网站
  • uniapp 打包安卓apk。同时安装正式和测试的apk。
  • 中和华丰建设有限责任公司网站c 能用来做网站吗
  • 使用python的加权Jaccard分析流程
  • 网站开发需要掌握哪些技术wordpress登录链接
  • 学习Java四十五天
  • 从android compose动画研究带接收者的函数类型(Receiver Function Type)
  • 佛山网站建设玲念建站平面设计和电商设计
  • 南通网站建设规划书深圳家居网站建设公司
  • 大模型agent综述:A Survey on Large Language Model based Autonomous Agents
  • 重庆网站设计最加科技网站开发怎么学
  • 【淘宝API接口】如何获取淘宝商品的详细信息?
  • 突破限制!AI智能体网页交互利器:Playwright MCP与Bright Data Web MCP
  • IT 疑难杂症诊疗室:从现象到根因的系统化故障排查指南
  • 网站怎么做子网页flash网站开发用什么语言
  • 做户外运动的网站广州做网站公司排名
  • 公用通信网
  • 上海外贸营销网站建设python3的网站开发
  • 新网站制作市场重庆网站设计建设
  • 大模型灾难性的原因和缓解方法?
  • 【深度学习-Day 49】注意力机制:让模型像人一样“划重点”,告别Seq2Seq信息瓶颈
  • 网站建设团队管理模板开发者导航
  • 2025年APP安全防护终极指南:从逆向破解到全面防御
  • 古交网站建设最好的app制作公司