Largest Rectangle In Histogram

HardStack
Asked byAmazonMicrosoftAdobeFacebookUberBloomberg

Problem

Given an array of bar heights forming a histogram where each bar has width 1, find the area of the largest rectangle that can be formed within the histogram.

Examples

Example 1
Input:heights = [2,1,5,6,2,3]
Output:10
Example 2
Input:heights = [2,4]
Output:4

Constraints

  • 1 <= heights.length <= 10^5

Solve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.

Solve on FeatCode →

How to approach it: the Stack pattern

A stack is last-in-first-out — the most recently added item is the first one removed. It's the natural fit whenever "the most recent unmatched thing" matters, like nested brackets or undo history.

Look for this pattern when

  • You're validating nested or paired structures (parentheses, tags, nested expressions).
  • You need to track "the most recent X that hasn't been resolved yet."
  • You're looking for the next larger or smaller element relative to each position.

Read the full Stack guide →

Video walkthroughs

Original problem on LeetCode ↗

More Stack problems