Meeting Rooms
Easy
IntervalsSorting
Problem
Given an array of meeting time intervals [start, end], return true iff one person can attend every meeting (no overlap).
Example 1
Input: [[0,30],[5,10],[15,20]]
Output: false
Example 2
Input: [[7,10],[2,4]]
Output: true
Constraints
- 0 ≤ intervals.length ≤ 10⁴
Approach — Core Patterns
This is a Core Patterns problem. The idea: pick the data structure best matched to the constraints and solve it in one clean pass. Work through the reference code below line by line, then re-derive it yourself in the editor — that's how the pattern sticks.
Complexity: see the walkthrough below.
Solution code
Python
class Solution:
def canAttendMeetings(self, intervals):
intervals.sort()
for i in range(1, len(intervals)):
if intervals[i][0] < intervals[i - 1][1]:
return False
return True
Java
import java.util.*;
class Solution {
public boolean canAttendMeetings(int[][] intervals) {
Arrays.sort(intervals, (a, b) -> a[0] - b[0]);
for (int i = 1; i < intervals.length; i++)
if (intervals[i][0] < intervals[i-1][1]) return false;
return true;
}
}
Practice it
Reading a solution isn't the same as being able to write it under pressure. Open this problem in the in-browser editor, hide the solution, and solve it from scratch — your code runs against real test cases instantly.
Solve Meeting Rooms interactively → ← All solutions