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

中小型企业网站的设计与开发温州网吧什么时候恢复营业

中小型企业网站的设计与开发,温州网吧什么时候恢复营业,电子商务网站设计规划书,小程序外包公司发展前景leetcode 11 思路 问题分析 拆解问题,面积 底 * 高 宽度:两个竖直线之间的距离,显然是 right - left高度:容器的水位受限于较短的那根竖直线的高度,所以高度为 min(height[left], height[right]) 本题其实很容易…

leetcode 11
在这里插入图片描述

思路

问题分析

拆解问题,面积 = 底 * 高

  • 宽度:两个竖直线之间的距离,显然是 right - left
  • 高度:容器的水位受限于较短的那根竖直线的高度,所以高度为 min(height[left], height[right])

本题其实很容易想到暴力解法,通过双重遍历,计算每一对竖直线所能形成的容器的面积,并记录最大面积。但这种方法的时间复杂度是 O(n²),效率较低,并且无法在leetcode中通过

优化解法-双指针法
  • 由于容器的面积受制于最短的那根竖直线,所以优化的关键在于动态调整左右指针的指向,跳过不必要的比较
  • 我们使用双指针的方式,初始化 left 指针在数组的开头,right 指针在数组的末尾,计算当前容器的面积:
    • 如果 height[left] < height[right],则移动 left 指针,目的是尝试找到一个更高的左边竖直线,增加可能的面积。
    • 如果 height[left] >= height[right],则移动 right 指针,尝试找到一个更高的右边竖直线。
  • 每次移动指针时,都会计算并更新最大面积
为什么双指针法有效
  • 双指针法通过始终选择最短的竖直线来决定移动哪一边指针。因为较短的那根竖直线是面积的瓶颈,只有尝试替换较短的线,才能可能增加容器的面积
  • 如果我们不这么做,选择较长的线是没有意义的,因为更短的那条线限制了容器的容量

实现

var maxArea = function (height) {let left = 0, right = height.length - 1;let max = 0;while (left < right) {let min = Math.min(height[left], height[right])const area = (right - left) * min;max = Math.max(max, area)if (min === height[left]) {// 左边值更小left++} else {right--}}return max;
};
http://www.dtcms.com/a/572165.html

相关文章:

  • 济宁住房和城乡建设厅网站首页网页源代码翻译
  • 贸易公司自建免费网站昭通网站建设公司
  • 网站开发商怎么关闭图片显示工地模板图片
  • 做网站阳泉安徽省交通运输厅领导
  • 如何将网站添加到域名网站加首页
  • 太原建筑公司网站云服务器建设网站用什么系统
  • 如何免费建一个网站煤矿网站建设
  • 手机全屋定制设计app温州优化售后
  • 建设代刷网站wordpress主题制作豆丁
  • 佛山市外贸网站建设公司做亚克力在那个网站上好
  • 吴江建设网站wordpress 1g1核1m
  • 南京淄博网站建设方案鲜花商城网站设计
  • 做网站网网站建设中最基本的决策
  • 如何制作产品网站模板下载做网站多久能盈利
  • 优秀htm网站黑龙江建设网一体化平台
  • 网站开发实战视频教程视频号视频二维码
  • 网站虚拟旅游怎么做的给我推荐一个网站
  • 如何做网站与网页做外贸网站有哪些
  • 蒙阴县城乡建设局网站中国网站建设市场规模
  • 无锡网站制作有哪些信阳网站建设培训
  • 微信属于营销型网站设计素材网站特点
  • 网站设计顺德域名备案的价格
  • 网站上线前需要做什么建设仿优酷视频网站
  • 高端模板网站建设价格品牌网站建设小7蝌蚪
  • 上海策朋网站设计公司在阿里云做的网站怎么移动
  • seo优化网站优化排名shopex更改数据密码后网站打不开了
  • 网站建设重要一些做义工的旅游网站
  • 青海贸易网站建设公司wordpress最新博客主题
  • 佛山网站建设计万表网
  • .net 免备案网站空间网盘搜索神器