From 8e4d8d1dddd52f993664df5514b252d89345c90c Mon Sep 17 00:00:00 2001 From: linlihong <747682928@qq.com> Date: Wed, 18 Sep 2024 17:03:51 +0800 Subject: [PATCH] =?UTF-8?q?2024/9/17=20Hot100=20Stack=20=E6=98=A8=E6=97=A5?= =?UTF-8?q?=E6=A0=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/hot100/stack/Num84.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/com/cool/hot100/stack/Num84.java diff --git a/src/main/java/com/cool/hot100/stack/Num84.java b/src/main/java/com/cool/hot100/stack/Num84.java new file mode 100644 index 0000000..554ca98 --- /dev/null +++ b/src/main/java/com/cool/hot100/stack/Num84.java @@ -0,0 +1,36 @@ +package com.cool.hot100.stack; + +import java.util.Deque; +import java.util.LinkedList; + +/** + * Created with IntelliJ IDEA. + * + * @Author: Cool + * @Date: 2024/09/18/14:20 + * DayNumber 1 + * Hard 3 + * Level ? + */ +public class Num84 { + + public int largestRectangleArea(int[] heights) { + Deque deque=new LinkedList<>(); + int res=0; + deque.offerLast(0); + int[] newHeights=new int[heights.length+2]; + System.arraycopy(heights, 0, newHeights, 1, heights.length); + heights=newHeights; + for(int i=0;iheights[i]){ + // 出栈 + int cur=deque.pollLast(); + int left=deque.peekLast()+1; + res=Math.max(res,(i-left)*heights[cur]); + } + deque.offerLast(i); + } + return res; + } + +}