Return the length of the longest subsequence that reads the same both directions.
A good solution should
- State the invariant or decision rule that makes the approach correct.
- Explain time and space costs in terms of input size and required output.
- Handle empty, minimal, duplicate, and boundary-shaped inputs.
Reasoning prompt
Use interval states: matching endpoints extend an inner solution; otherwise discard one endpoint and take the better result.
Use the linked judge for the canonical challenge. The examples above are compact TRT checks; create additional tests around the boundary most likely to break your invariant.