forked from codepath/compsci_guides
-
Notifications
You must be signed in to change notification settings - Fork 0
Scheduling Conflict
Jessica Sang edited this page Sep 14, 2024
·
1 revision
Unit 2 Session 1 (Click for link to problem statements)
Understand what the interviewer is asking for by using test cases and questions about the problem.
-
Q: What is the problem asking for?
- A: The problem asks to identify scheduling conflicts between two venues by finding artists who have the same set time in both venues.
-
Q: What are the inputs?
- A: Two dictionaries,
venue1_schedule
andvenue2_schedule
, each mapping artists to their set times.
- A: Two dictionaries,
-
Q: What are the outputs?
- A: A dictionary containing the key-value pairs that are the same in both input dictionaries.
-
Q: What constitutes a conflict?
- A: A conflict occurs if an artist is scheduled to perform at the same time in both venues.
Plan the solution with appropriate visualizations and pseudocode.
General Idea: Compare the set times of artists in both venue schedules and collect the ones that match.
1) Initialize an empty dictionary `conflicts`.
2) Iterate over each artist and their set time in `venue1_schedule`.
- Check if the artist is also in `venue2_schedule` and if their set time matches the set time in `venue1_schedule`.
- If both conditions are met, add the artist and their set time to the `conflicts` dictionary.
3) Return the `conflicts` dictionary.
- Ensure that both the artist's presence and their set times are checked.
- Handle cases where there are no conflicts by returning an empty dictionary.
def identify_conflicts(venue1_schedule, venue2_schedule):
conflicts = {}
for artist, time in venue1_schedule.items():
if artist in venue2_schedule and venue2_schedule[artist] == time:
conflicts[artist] = time
return conflicts