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

Hiring now

Get the Microsoft interview, not just the prep

landed applies to roles like these for you, on each company’s own site, with answers written for the role.

Get 5x interviews10 free auto-applies. No card.
Or practice this question first

Next question