leetcode84柱状图中最大的矩形

题解: - 力扣(LeetCode)

java 复制代码
class Solution {
    public int largestRectangleArea(int[] heights) {
        Stack<Integer> stack = new Stack<>();
        int maxArea = Integer.MIN_VALUE;
        for(int i = 0;i < heights.length;i++){
            int curHeight = heights[i];
            while(!stack.empty() && curHeight < heights[stack.peek()]){
                int index = stack.pop();
                int left = (stack.empty()) ? 0 : stack.peek()+1;
                int tempArea = heights[index] * (i - left);
                maxArea = Math.max(maxArea,tempArea);
            }
            stack.push(i);     
        }
        while(!stack.empty()){
                int index = stack.pop();
                int left = (stack.empty()) ? 0 : stack.peek()+1;
                int tempArea = heights[index] * (heights.length - left);
                maxArea = Math.max(maxArea,tempArea);
            }
        return maxArea;
    }
}
相关推荐
苦学编程的谢1 分钟前
MyBatis_3
java·开发语言·后端·mybatis
jtymyxmz2 分钟前
刷题日记0726
leetcode
小新学习屋17 分钟前
《剑指offer》-数据结构篇-树
数据结构·算法·leetcode
好心的小明23 分钟前
【深度之眼机器学习笔记】04-01-决策树简介、熵,04-02-条件熵及计算举例,04-03-信息增益、ID3算法
笔记·算法·决策树
fouryears_2341738 分钟前
什么是JSON,如何与Java对象转化
java·spring boot·spring·json
CHEN5_021 小时前
【RocketMQ】一分钟了解RocketMQ
java·rocketmq·java-rocketmq
寒士obj1 小时前
JVM 内存结构
java·开发语言·jvm
带刺的坐椅1 小时前
Solon 整合 LiteFlow 规则引擎:概念与实战
java·solon·liteflow
wuk9982 小时前
互联网应用主流框架整合 Spring Boot开发
java·spring boot·后端
恣艺2 小时前
LeetCode 1074:元素和为目标值的子矩阵数量
算法·leetcode·矩阵