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

温州百度推广公司百度seo分析工具

温州百度推广公司,百度seo分析工具,网站后台如何设计,钦州做网站的公司LeetCode:84.柱状图中最大的矩形 84. 柱状图中最大的矩形 - 力扣(LeetCode) 1.思路 双指针思路,以当前数组为中心,借助两个数组存放当前数柱左右两侧小于当前数柱高度的索引,进行h*w的计算。注意首尾节点的左侧索引…
 LeetCode:84.柱状图中最大的矩形

84. 柱状图中最大的矩形 - 力扣(LeetCode)

1.思路

双指针思路,以当前数组为中心,借助两个数组存放当前数柱左右两侧小于当前数柱高度的索引,进行h*w的计算。注意首尾节点的左侧索引和右侧索引需要单独声名为0.

单调栈,在原数组的基础上定义一个新的数组,对其进行首尾节点的扩容。思路延续收集雨水。

2.代码实现
class Solution {public int largestRectangleArea(int[] heights) {​    Stack<Integer> stack = new Stack<>();​    // 数组扩容​    int[] newHeights = new int[heights.length + 2];​    newHeights[0] = 0;​    newHeights[newHeights.length - 1] = 0;​    for (int i = 0; i < heights.length; i++) {​      newHeights[i + 1] = heights[i];​    }​    heights = newHeights; // 改变数组引用​    stack.add(0);​    int result = 0;​    for (int i = 1; i < heights.length; i++) {​      if (heights[i] > heights[stack.peek()]) { // 入栈​        stack.add(i);​      } else if (heights[i] == heights[stack.peek()]) { ​        stack.pop(); // 弹出​        stack.add(i); // 入栈​      } else {​        while (heights[i] < heights[stack.peek()]) {​          int mid = stack.peek(); // 当前数值柱子​          stack.pop();​          int left = stack.peek();​          int right = i;​          int w = right - left - 1;​          int h = heights[mid];​          result = Math.max(result, w * h);​        }​        stack.add(i);​      }​    }​    return result;}}
3.复杂度分析:

时间复杂度:O(n).

空间复杂度:O(n).符合单调递减的情况时,全部入栈。

http://www.dinnco.com/news/46784.html

相关文章:

  • 做网站还有搞头吗网站安全检测平台
  • 宣讲家网站美丽乡村建设免费制作网页的网站
  • wordpress网站管理员插件sem是什么工作
  • 购买网站域名空间网站推广优化价格
  • 安徽省建设厅网站备案郑州短视频代运营
  • 网站建设多少价格深圳网页设计
  • 建设银行网网站上海网站推广优化
  • cms 美容网站 模版企业宣传软文范例
  • 西安手机网站建设许昌网站seo
  • 万盛网站建设百度官网认证申请
  • 万能网站浏览器厦门网络推广外包
  • 东莞市研发网站建设品牌国外网站排名 top100
  • 哪些网站不能备案seo优化网络
  • 建设网站的企业公司宁波seo快速排名
  • 北京兄弟搬家公司seo排名app
  • 怎样管理网站甘肃新站优化
  • 公司网站做的好的百度怎样免费发布信息
  • 织梦网站去除技术支持百度一下官网首页百度
  • 网站建设技巧饣金手指排名27西安排名seo公司
  • 网站建设日期外链
  • 做古风头像的网站南京网站设计优化公司
  • 上海自适应网站建设百度搜索引擎推广
  • wordpress 禁用响应式电商seo
  • 二次开发创造作用搜索引擎优化的内容
  • wordpress表单功能seo品牌推广方法
  • 怎么上传视频到公司网站百度的网址是什么呢
  • 网络公司给我们做的网站_但是我们不知道域名是否属于我们做国外网站
  • 做网站 java cseo专员
  • 怎么认证网站打开官方网站
  • 做网站无需备案专业搜索引擎优化电话