feat(work): implement largestRectangleArea solution and fix formatting

This commit is contained in:
Prad Nukala committed 2026-10-05 14:01:18 -04:00
1 parent 9de25fecff
commit 66affbe128
1 file changed
+21 -5
@@ -9,7 +9,7 @@ Given an array of integers heights representing the histogram's bar
height where the width of each bar is 1, return the area of the height where the width of each bar is 1, return the area of the
largest rectangle in the histogram. largest rectangle in the histogram.
Example 1: Example 1:
@@ -24,15 +24,31 @@ Example 2:
Input: heights = [2,4] Input: heights = [2,4]
Output: 4 Output: 4
Constraints: Constraints:
• 1 <= heights.length <= 10^5 • 1 <= heights.length <= 10^5
• 0 <= heights[i] <= 10^4 • 0 <= heights[i] <= 10^4
""" """
class Solution: class Solution:
def largestRectangleArea(self, heights: list[int]) -> int: def largestRectangleArea(self, heights: list[int]) -> int:
maxArea = 0
stack = []
for i, h in enumerate(heights):
start = i
while stack and stack[-1][1] > h:
index, height = stack.pop()
width = i - index
maxArea = max(maxArea, height * width)
start = index
stack.append((start, h))
for i, h in stack:
maxArea = max(maxArea, h * (len(heights) - i))
return maxArea