Scheduling Conflict - codepath/compsci_guides GitHub Wiki
Unit 2 Session 1 (Click for link to problem statements)
U-nderstand
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.
P-lan
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.
⚠️ Common Mistakes
- 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.
I-mplement
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