Hard · Database
Reporting Hierarchy Depth
Given an acyclic Employee(id, name, managerId) forest where managerId=0 marks a root, return Employee and Depth for every employee reachable from a root. A root has depth zero and a direct report has depth one; row order does not matter.
Examples
Example 1
{
"employees": [
{"id": 1, "name": "Ada", "managerId": 0},
{"id": 2, "name": "Ben", "managerId": 1},
{"id": 3, "name": "Cy", "managerId": 1},
{"id": 4, "name": "Dee", "managerId": 2},
{"id": 5, "name": "Eve", "managerId": 99}
]
}Output: [{"Employee":"Ada","Depth":0},{"Employee":"Ben","Depth":1},{"Employee":"Cy","Depth":1},{"Employee":"Dee","Depth":2}]
Example 2
{
"employees": [
{"id": 10, "name": "Erin", "managerId": 0},
{"id": 11, "name": "Fox", "managerId": 10},
{"id": 12, "name": "Gia", "managerId": 0}
]
}Output: [{"Employee":"Erin","Depth":0},{"Employee":"Gia","Depth":0},{"Employee":"Fox","Depth":1}]
Rebuild it in the studio
20 free core interview problems with full runner & lessons; explore the complete 380+ library with Pro.