You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tech-interview-handbook/contents/algorithms/interval.md

1.5 KiB

id title
interval Interval
  • Given a list of schedules, provide a list of times that are available for a meeting.

    [
      [[4,5], [6,10], [12,14]],
      [[4,5], [5,9], [13,16]],
      [[11,14]]
    ]
    
    Example Output:
    [[0,4], [11,12], [16,23]]
    
  • You have a number of meetings (with their start and end times). You need to schedule them using the minimum number of rooms. Return the list of meetings in every room.

  • Interval ranges:

    • Given 2 interval ranges, create a function to tell me if these ranges intersect. Both start and end are inclusive: [start, end]
      • E.g. [1, 4] and [5, 6] => false
      • E.g. [1, 4] and [3, 6] => true
    • Given 2 interval ranges that intersect, now create a function to merge the 2 ranges into a single continuous range.
      • E.g. [1, 4] and [3, 6] => [1, 6]
    • Now create a function that takes a group of unsorted, unorganized intervals, merge any intervals that intersect and sort them. The result should be a group of sorted, non-intersecting intervals.
    • Now create a function to merge a new interval into a group of sorted, non-intersecting intervals. After the merge, all intervals should remain non-intersecting.
  • Given a list of meeting times, check if any of them overlap. The follow-up question is to return the minimum number of rooms required to accommodate all the meetings.

  • If you have a list of intervals, how would you merge them?

    • E.g. [1, 3], [8, 11], [2, 6] => [1, 6], [8-11]