package
0.0.0-20240615115840-a222ecda5fb5
Repository: https://github.com/koykov/algoexpert.io.git
Documentation: pkg.go.dev
# README
Lowest Common Manager
Category: Recursion
Difficulty: Hard
Description
You're given three inputs, all of which are instances of an
OrgChart
class that have a directReports
property
pointing to their direct reports. The first input is the top manager in an
organizational chart (i.e., the only instance that isn't anybody else's direct
report), and the other two inputs are reports in the organizational chart. The
two reports are guaranteed to be distinct.
Write a function that returns the lowest common manager to the two reports.
Sample Input
// From the organizational chart below.
topManager = Node A
reportOne = Node E
reportTwo = Node I
A
/ \
B C
/ \ / \
D E F G
/ \
H I
Sample Output
Node B
Optimal Space & Time Complexity
O(n) time | O(d) space - where n is the number of people in the org and d is the depth (height) of the org chart