Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Detect Cycles in Task Graph
00:00
5 left

Detect Cycles in Task Graph

MediumPython

Problem

Given a directed graph of startup task dependencies, write a function that returns True if the graph contains a cycle and False otherwise. The input is a list of task names tasks and a list of directed edges dependencies, where each edge [a, b] means task a depends on task b.

Constraints

  • 1 <= len(tasks) <= 10^5
  • 0 <= len(dependencies) <= 2 * 10^5
  • Task names are unique strings
  • Each dependency is a pair [task, prerequisite]
  • A dependency may reference any task in tasks

Function Signature

def has_cycle(tasks, dependencies):
Interviewer

Your question is Detect Cycles in Task Graph. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.