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; + } + +}