Cycle Length Queries in a Tree

Asked atMicrosoft
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below
0
Stuck? Show a way to structure it+
  1. 01Use parent(x) = floor(x/2).
  2. 02For each pair, start answer at one edge for the added connection.
  3. 03Move the larger node upward until labels meet.
  4. 04Increment for each tree edge traversed.
  5. 05Return the accumulated cycle length.

Reference answer

Then expect these follow-ups

  • How would binary lifting change this for a non-implicit tree?

    Tests: constraint adaptation

  • Why does moving the larger heap label preserve the path to the LCA?

    Tests: correctness reasoning

Free to read · better with Enzo

Practice this out loud with Enzo

Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.

Next question