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

像美团这种网站怎么做的创建蛋糕网站建设方案

像美团这种网站怎么做的,创建蛋糕网站建设方案,米各庄网站建设,为什么网站后台怎么换图片力扣11. 盛最多水的容器:双指针法详解 一句话点明白你 被官方题解的一位大佬的评论点醒,在这里分享给大家:**我们left和right–都是为了尝试取到更多的水,如果短的板不动的话,取到的水永远不会比上次多。**你品&…

力扣11. 盛最多水的容器:双指针法详解

一句话点明白你

被官方题解的一位大佬的评论点醒,在这里分享给大家:**我们left++和right–都是为了尝试取到更多的水,如果短的板不动的话,取到的水永远不会比上次多。**你品,你细品!!

题目描述

给定一个长度为 n 的整数数组 height,表示垂直线的长度。找到两条垂线,使得它们与 x 轴共同构成的容器能容纳最多的水。返回容器的最大储水量。

示例

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

解法思路:双指针法

核心思想

容器储水量由 宽度较短板的高度 共同决定。双指针法从数组两端向中间移动,每次移动较短的边,通过缩小宽度来寻找更高的板,从而探索更大的储水量。

正确性证明

  • 贪心策略:移动较短的边可能使高度增加,而移动较长的边只会减少宽度且高度不会超过原短板。
  • 数学保证:每次移动后,虽然宽度减小,但保留更长的边有机会找到更高的短板,从而弥补宽度损失。

算法步骤

  1. 初始化指针:左指针 left = 0,右指针 right = height.length - 1
  2. 循环计算
    • 计算当前容器的储水量:面积 = min(height[left], height[right]) * (right - left)
    • 更新最大储水量。
    • 移动较短的边的指针(左指针右移或右指针左移)。
  3. 终止条件:当 left == right 时结束循环。

代码实现

public static int maxArea(int[] height) {int left = 0;                   // 左指针int right = height.length - 1;  // 右指针int res = 0;                    // 最大储水量while (left < right) {// 计算当前容器的储水量int currentRes = Math.min(height[left], height[right]) * (right - left);res = Math.max(res, currentRes);// 移动较短的边的指针if (height[left] < height[right]) {left++;} else {right--;}}return res;
}

力扣通过截图

在这里插入图片描述

复杂度分析

  • 时间复杂度:O(n),只需一次遍历数组。
  • 空间复杂度:O(1),仅使用常量额外空间。

示例解析

以输入 height = [1,8,6,2,5,4,8,3,7] 为例:

步骤leftright短板高度宽度面积最大面积移动方向
108181×8=88左→右
218777×7=4949右→左
317363×6=1849右→左
49

最终最大储水量为 49,由左指针 1(高度 8)和右指针 8(高度 7)组成的容器获得。


边界情况处理

  • 全零数组:所有高度为 0,储水量始终为 0。
  • 所有高度相同:储水量由宽度决定,初始宽度最大。
  • 单峰/双峰分布:双指针法能正确找到最大容器。

总结

  • 双指针法的优势:通过一次遍历高效解决问题,避免暴力法的 O(n²) 复杂度。
  • 关键思想:移动较短的边以探索更高的板,确保不漏掉更大储水量的可能性。

相似问题

  • 42. 接雨水
  • 15. 三数之和

掌握双指针法的移动策略,能有效解决数组中的区间最优问题!


文章转载自:

http://53dfC4el.kghss.cn
http://TpGpo8LA.kghss.cn
http://CfGPXFy3.kghss.cn
http://C74mPNT6.kghss.cn
http://HksgZSaO.kghss.cn
http://6gt3j59y.kghss.cn
http://ipgW7X5t.kghss.cn
http://Y5Ph91TM.kghss.cn
http://X7xtBrej.kghss.cn
http://lWgwWRfr.kghss.cn
http://JepyKxJq.kghss.cn
http://0FoY9u3G.kghss.cn
http://BUuqROEx.kghss.cn
http://SIN7BjCY.kghss.cn
http://JC9KpVVm.kghss.cn
http://3dYxNj3b.kghss.cn
http://FVhSfCP7.kghss.cn
http://xYK6E7wk.kghss.cn
http://cZDDqcb0.kghss.cn
http://Vq5dzcrH.kghss.cn
http://16s9z6sU.kghss.cn
http://fd9krQLA.kghss.cn
http://u0vpACiY.kghss.cn
http://8ucr5Fck.kghss.cn
http://oZ3GXSYc.kghss.cn
http://uDuiB8Xo.kghss.cn
http://iC0TKECq.kghss.cn
http://blJaOccp.kghss.cn
http://qoiqy7ep.kghss.cn
http://Ty1KeetG.kghss.cn
http://www.dtcms.com/wzjs/627563.html

相关文章:

  • 如何向百度提交网站展馆装修施工
  • 网站开发步奏wordpress导入火车头
  • 网站开发部门工作职责工作纪律和生活纪律研讨发言材料
  • 湛江怎么做网站关键词优化家博会
  • 台州市城市建设投资公司网站二建电子证书查询入口
  • 婚恋网网站架构网站网站建设平台
  • 广州市住房建设部网站社区推广经验做法
  • 集团网站制作公司2017年做网站维护总结
  • 网站前端模板mitao wordpress
  • 做问卷调查赚钱的网站好宝安做棋牌网站建设有哪些公司
  • 南山做网站公司怎么选择wordpress导航菜单居中
  • 江西中联建设集团有限公司网站网站开发兼职
  • 2018网站做外链湛江自助建站软件
  • 南阳做网站的公企业公司网站建设公司
  • 青岛网站建设技术托管阿里云网站架构怎么做
  • 龙南县建设局网站500强网站设计
  • iis怎么做ip网站吗淘宝店做网站建设不能开直通车
  • 建设网站的网站叫什么男深圳定制建站
  • 海口网站制作策划创意广告设计培训
  • 网站怎样做的有吸引力宁波建网站模板
  • 商务网站需求说明书做网站好用的cms
  • iis搭建网站教程win7怎么创建邮箱地址
  • 深圳企业营销型网站建设深圳谷歌seo培训班
  • 网站关键词密这么稀释北京免费网站建设模板下载
  • 做任务佣金网站源码贵州省建设项目验收备案网站
  • 专注赣州网站建设营销培训课程内容
  • 基于jsp的购物网站开发摄影网站采用照片做宣传_版权费是多少?
  • 能打开所有网站的浏览器wordpress 收不到邮件
  • dw网站模板下载代码统计网站
  • 网站购买后如何做如何判断一个网站是否用织梦建设的