Greedy•Pattern: Greedy•Medium

Candy distribution — minimum candies

Problem Intuition & Objective

Assign minimum candies to children so higher-rated neighbors get more.

Time ComplexityO(n)
Optimal
Space ComplexityO(n)
Memory Bounds
Optimal Algorithmic Approach

Two-pass greedy ensuring both neighbor constraints.

Core Invariants & Edge Cases

  • Two-pass greedy: left-to-right and right-to-left
  • Left pass: if rating[i] > rating[i-1], candies[i] = candies[i-1]+1
  • Right pass: if rating[i] > rating[i+1], candies[i] = max(candies[i], candies[i+1]+1)
Previous ProblemMeeting rooms II — minimum rooms neededNext Problem Longest subarray with sum ≤ k (all positives)

System Design & Architecture Roadmap

Coding interviews are only 50% of the bar. Master High-Level Design, distributed systems, and Object-Oriented LLD.