Number of Flowers in Full Bloom - Problem
You are given a 0-indexed 2D integer array flowers, where flowers[i] = [starti, endi] means the ith flower will be in full bloom from starti to endi (inclusive).
You are also given a 0-indexed integer array people of size n, where people[i] is the time that the ith person will arrive to see the flowers.
Return an integer array answer of size n, where answer[i] is the number of flowers that are in full bloom when the ith person arrives.
Input & Output
Example 1 — Multiple People Different Times
$
Input:
flowers = [[1,6],[3,7],[9,12]], people = [2,3,7,11]
›
Output:
[1,2,2,1]
💡 Note:
At time 2: flower [1,6] is blooming (1). At time 3: flowers [1,6] and [3,7] are blooming (2). At time 7: flowers [1,6] and [3,7] are blooming (2). At time 11: only flower [9,12] is blooming (1).
Example 2 — Single Flower
$
Input:
flowers = [[1,10]], people = [5]
›
Output:
[1]
💡 Note:
Only one flower [1,10] and person arrives at time 5, which falls within the bloom period, so 1 flower is blooming.
Example 3 — No Overlapping Blooms
$
Input:
flowers = [[1,2],[3,4],[5,6]], people = [2,4,6]
›
Output:
[1,1,1]
💡 Note:
Each person arrives exactly when only one flower is blooming. No time overlaps between different flowers.
Constraints
- 1 ≤ flowers.length ≤ 5 × 104
- flowers[i].length == 2
- 1 ≤ starti ≤ endi ≤ 109
- 1 ≤ people.length ≤ 5 × 104
- 1 ≤ people[i] ≤ 109
Visualization
Tap to expand
Understanding the Visualization
1
Input
Flower bloom intervals and people arrival times
2
Process
For each person, count overlapping flower intervals
3
Output
Array of bloom counts for each person
Key Takeaway
🎯 Key Insight: Binary search on sorted start/end arrays efficiently counts active intervals without checking each one individually
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code