Hard data structure and algorithm practice puzzle.
A guard's AI is a behavior tree. A node with children is a sequence if its value is 1, which succeeds only if both children do, or a selector if its value is 2, which succeeds if either does. A leaf is a check that succeeds if its value is in facts. Each node short-circuits: a sequence quits at its first failure and a selector at its first success. Given the tree and facts, return [1 if the root succeeds else 0, how many nodes were visited]. An empty tree is [0, 0].
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Then grow it into a real project with the Software Engineer button: this puzzle becomes the Entity Hierarchy Report, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles