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

网络有限公司做女装网站的seoshanghai net

网络有限公司做女装网站的,seoshanghai net,网站 div,网站建设起到计划和指导作用题:给定非负整数数组 heights ,数组中的数字用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 function largestRectangleArea(heights) {let maxArea 0;const s…

题:给定非负整数数组 heights ,数组中的数字用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。

function largestRectangleArea(heights) {let maxArea = 0;const stack = [];// 添加哨兵值处理边界情况heights = [0, ...heights, 0];for (let i = 0; i < heights.length; i++) {// 当当前高度小于栈顶高度时,计算面积while (stack.length && heights[i] < heights[stack[stack.length - 1]]) {const cur = stack.pop();const left = stack[stack.length - 1];const width = i - left - 1;maxArea = Math.max(maxArea, width * heights[cur]);}stack.push(i);}return maxArea;
}// 示例测试
console.log(largestRectangleArea([2,1,5,6,2,3])); // 输出 10
console.log(largestRectangleArea([2,4]));         // 输出 4

算法原理说明:
单调递增栈:维护一个存储柱状图索引的栈,保证栈中索引对应的柱子高度单调递增

关键操作:
当遇到较小高度时,弹出栈顶元素作为当前高度
计算宽度:当前索引 - 新栈顶索引 - 1
面积计算:高度 * 宽度

哨兵技巧:
在数组首尾添加0作为边界哨兵
避免处理空栈的特殊情况
确保所有柱子都会被计算

复杂度分析:
时间复杂度:O(n),每个元素最多入栈和出栈一次
空间复杂度:O(n),最坏情况下需要存储所有元素的索引

http://www.dtcms.com/wzjs/76290.html

相关文章:

  • win8网站设计海外互联网推广平台
  • 已经有网站域名如何做网页找百度
  • 做网站运用的软件智慧软文网站
  • 贵阳网站建设网站制作互联网营销师
  • 最专业微网站首选公司网站收录平台
  • 专做国际时事评论网站新闻今天最新消息
  • 制作企业网站多少钱百度投放广告
  • 淘宝运营跟做网站哪种工资高吉林黄页电话查询
  • 河南网站优化建设上海市人大常委会
  • 张家港做网站的网络推广引流
  • 婚恋网站上认识人 带你做原油交易域名注册信息查询whois
  • 新闻网站的建设与开发seo工作内容
  • 网络推广策划方案设计网站免费网站免费优化优化
  • 呼和浩特市网站建设上海网站搜索引擎优化
  • 佛山外贸网站制作郑州网站建设用户
  • 想自己做个网站seo网站培训优化怎么做
  • 三亚h5网站定制开发公司媒介平台
  • mvc5网站开发之六长沙网站推广 下拉通推广
  • 大型网站建设的主要问题无锡营销型网站制作
  • 网站打开403手机360优化大师官网
  • 郑州网站开发与建设北京seo包年
  • 小程序推广收费价目表搜索引擎优化排名培训
  • 北京大兴区网站建设最好的bt种子搜索神器
  • 做网站 视频加载太慢北京优化seo公司
  • 安徽淮北做网站的公司软文广告经典案例100字
  • 有没有做淘宝客网站的东莞最新消息今天
  • 东莞建设企业网站今日重要新闻
  • 我的世界怎么做购买点卷网站nba排名最新
  • h5响应式网站公司搜索引擎营销优化策略有哪些
  • 网站建设一般需要几个步骤国际免费b站