Specify House-Selection Constraints Before Choosing a Robbery Dynamic Program
Company: Digitalocean
Role: Software Engineer
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Onsite
Discuss a house-robbery optimization problem in which a set of houses has values and some choices cannot be combined. Explain which constraints must be clarified and how the structure of those constraints determines the algorithm.
### Constraints
Only the problem family is supplied; house layout, compatibility rules, value range, and output contract are unresolved. Do not infer a circular layout from a variant label. For an illustrative analysis, you may assume a linear row of nonnegative house values where adjacent houses cannot both be chosen, but label that model explicitly.
### Clarifying Questions
- Are houses arranged in a line, a circle, a tree, or a more general graph?
- Which pairs or groups cannot be selected together?
- Are values nonnegative, may all houses be skipped, and is the output a total or the selected indices?
- Are there cardinality limits, tie rules, or other constraints?
```hint Define a state that preserves the last relevant choice
For a linear adjacency rule, the best answer for a prefix can be separated according to whether its final house is selected.
```
### What a Strong Answer Covers
- Explicit unresolved layout and compatibility semantics.
- A correct conditional dynamic-programming recurrence and base cases for the illustrative linear model.
- An explanation of how circular or other dependencies change the state or decomposition.
### Follow-up Questions
- If the first and last houses are also incompatible, how would you adapt the linear solution?
- What additional information is needed to return chosen indices instead of only the maximum total?
Overview: Clarify house layout and selection conflicts, derive a conditional linear dynamic program, and explain how circular or graph constraints change it.
Discuss a house-robbery optimization problem in which a set of houses has values and some choices cannot be combined. Explain which constraints must be clarified and how the structure of those constraints determines the algorithm.
Constraints
Only the problem family is supplied; house layout, compatibility rules, value range, and output contract are unresolved. Do not infer a circular layout from a variant label. For an illustrative analysis, you may assume a linear row of nonnegative house values where adjacent houses cannot both be chosen, but label that model explicitly.
Clarifying Questions Guidance
Are houses arranged in a line, a circle, a tree, or a more general graph?
Which pairs or groups cannot be selected together?
Are values nonnegative, may all houses be skipped, and is the output a total or the selected indices?
Are there cardinality limits, tie rules, or other constraints?
What a Strong Answer Covers Guidance
Explicit unresolved layout and compatibility semantics.
A correct conditional dynamic-programming recurrence and base cases for the illustrative linear model.
An explanation of how circular or other dependencies change the state or decomposition.
Follow-up Questions Guidance
If the first and last houses are also incompatible, how would you adapt the linear solution?
What additional information is needed to return chosen indices instead of only the maximum total?