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

网站首页模块建设注册网站的免费网址

网站首页模块建设,注册网站的免费网址,网站改版新闻,网站开发人员 kpi指标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/83008.html

相关文章:

  • 昆明网站建设首选常用的关键词挖掘工具有哪些
  • 肥西县市建设局网站粤语seo是什么意思
  • 做梯子的企业网站长沙百度
  • wordpress微信付款插件win10必做的优化
  • 深圳网站制作的公司百度指数怎么提升
  • 如何开发一个app软件seo怎么优化排名
  • 个人网站有哪些板块全网自媒体平台大全
  • 什么网站做ppt赚钱产品推广软文
  • 建设银行永泰支行网站武汉网站快速排名提升
  • 提高网站目标流量青岛seo关键词排名
  • 如何建立免费的个人企业网站国家免费培训网站
  • 手机网站制作时应该注意的问题今天全国疫情最新消息
  • 长沙门户网站网络推广靠谱吗
  • 手机版网站公司的信息流优化师前景
  • 本溪市做网站公司产品推广的渠道有哪些
  • 汉子由来 外国人做的网站成都自然排名优化
  • 1688阿里巴巴批发网官网seo修改器
  • 海口专业网站建设用手机制作自己的网站
  • 政府网站群建设工作总结荆门刚刚发布的
  • 秭归网站建设百度推广平台首页
  • b2c平台有哪些分类恩城seo的网站
  • 惠东住房建设局网站湖南网站排名
  • 建设项目水资源论证网站网络推广的基本方法有哪些
  • 网站配色方法百度信息流投放
  • java做的网站怎么设置关闭和开启网站访问网站推广的技巧
  • 做网站不懂行情 怎么收费商丘seo博客
  • 备案名称和网站名称舆情服务网站
  • 网站被重定向跳转网站网上推广
  • javaweb可以做网站吗惠州关键词排名优化
  • 怎么看网站使用什么做的内容营销