Your question is Cycle Detection Algorithm. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Implement an algorithm to detect if there are any cyclical dependencies in a list of course prerequisites.
Implement can_finish(num_courses, prerequisites), where prerequisites contains pairs [course, prerequisite], meaning the prerequisite must be completed first. Return True if every course can be completed, or False if any dependency cycle exists. Courses are numbered from 0 through num_courses - 1.
def can_finish(num_courses, prerequisites):