Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Detect Graph Cycle
00:00
5 left

Detect Graph Cycle

HardPython

Problem

Write a piece of code that detects a cycle in a graph.

Treat the graph as directed and represented by an adjacency-list dictionary. Return True if any directed cycle exists, including a self-loop, otherwise return False. The function must inspect disconnected components, and a neighbor absent from the dictionary should be treated as a node with no outgoing edges.

Use def has_cycle(graph):, where graph is a JSON object whose keys identify nodes and whose values are lists of neighboring node identifiers. Return a boolean.

Constraints

  • 0 <= number of listed nodes <= 10^4
  • Each node identifier is representable as a JSON string or integer
  • The total number of adjacency entries is at most 5 * 10^4
  • The graph is directed
  • A neighbor absent from the dictionary has no outgoing edges

Function Signature

def has_cycle(graph):
Interviewer

Your question is Detect Graph Cycle. 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.