Outschool wants to rank instructors for a parent based on how much their teaching availability overlaps with the parent's requested schedule. Given a parent's schedule and a list of instructors, return instructor names ordered by decreasing total overlap.
Each schedule is an array of half-open intervals [start, end), where start and end are integer time units. Intervals within a schedule may be unsorted or overlapping. Merge them before calculating overlap so no time is counted twice. If two instructors have equal overlap, preserve their original input order.
Implement sort_instructors(instructors, parent_schedule).
instructors is a list of objects with a string name and an array schedule.parent_schedule is an array of [start, end] intervals.min(end1, end2) - max(start1, start2) when that value is positive.def sort_instructors(instructors, parent_schedule):