Intervals
Can Attend Meetings
DESCRIPTION (inspired by Leetcode.com)
Write a function to check if a person can attend all the meetings scheduled without any time conflicts. Given an array intervals, where each element [s1, e1] represents a meeting starting at time s1 and ending at time e1, determine if there are any overlapping meetings. If there is no overlap between any meetings, return true; otherwise, return false.
Note that meetings ending and starting at the same time, such as (0,5) and (5,10), do not conflict.
Input:
intervals = [(1,5),(3,9),(6,8)]
Output:
false
Explanation: The meetings (1,5) and (3,9) overlap.
Input:
intervals = [(10,12),(6,9),(13,15)]
Output:
true
Explanation: There are no overlapping meetings, so the person can attend all.
Explanation
Solution
def canAttendMeetings(intervals):if not intervals:return Trueintervals.sort(key=lambda x: x[0])for i in range(1, len(intervals)):if intervals[i][0] < intervals[i-1][1]:return Falsereturn True
can attend meetings
0 / 5
Test Your Knowledge
Login to take the complexity quiz and track your progress
Complexity Analysis
Time Complexity: O(n * logn) where n is the number of intervals. The time complexity is dominated by the sorting step.
Space Complexity: O(n) The sorting step requires O(n) auxiliary space in most language implementations (e.g., Timsort in Python, merge sort in Java).
Mark as read
Unlock Premium Coding Content
On This Page
Your account is free and you can post anonymously if you choose.