Interview slot schedules
A hiring panel books one interviewer per slot for a single loop. There are as many slots as interviewers, numbered from 0 upward, and available_slots[i] lists the slot numbers that interviewer i can take. Every interviewer runs exactly one slot and every slot gets exactly one interviewer. Return each complete schedule as a string: the interviewer covering slot 0, then the one covering slot 1, and so on, joined by a comma and a space. Return the schedules sorted in ascending order, so the result does not depend on the order the roster was typed in. Interviewer names are distinct, an availability list may repeat a slot number, and an empty panel returns an empty list. There are at most 6 interviewers.
list_panel_schedules(interviewer_names: list[str], available_slots: list[list[int]]) → list[str][["Ada","Bo"],[[0,1],[0,1]]]out["Ada, Bo","Bo, Ada"][["Ada","Bo","Cy"],[[0],[1,2],[2]]]out["Ada, Bo, Cy"][["Zed","Ada"],[[0,1],[0,1]]]out["Ada, Zed","Zed, Ada"]State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
[["Ada","Bo"],[[0,1],[0,1]]]["Ada, Bo","Bo, Ada"]not run yetsample[["Ada","Bo","Cy"],[[0],[1,2],[2]]]["Ada, Bo, Cy"]not run yetsample[["Zed","Ada"],[[0,1],[0,1]]]["Ada, Zed","Zed, Ada"]not run yetsample