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;
    }
}
相关推荐
pwzs7 分钟前
Spring MVC 执行流程全解析:从请求到响应的七步走
java·后端·spring·spring mvc
我该如何取个名字1 小时前
Mac配置Java的环境变量
java·开发语言·macos
kkkkatoq1 小时前
Java中的锁
java·开发语言
界面开发小八哥1 小时前
「Java EE开发指南」用MyEclipse开发EJB 3无状态会话Bean(二)
java·ide·java-ee·eclipse·myeclipse
LCY1331 小时前
spring security +kotlin 实现oauth2.0 认证
java·spring·kotlin
soulermax1 小时前
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
java·linux·服务器
照海19Gin1 小时前
数据结构中的宝藏秘籍之广义表
c语言·数据结构·算法
我的代码永没有bug1 小时前
day1-小白学习JAVA---JDK安装和环境变量配置(mac版)
java·学习·macos
王有品2 小时前
Spring MVC 一个简单的多文件上传
java·spring·mvc
小oo呆2 小时前
【自然语言处理与大模型】模型压缩技术之剪枝
算法·机器学习·剪枝