Build an efficient trade-history range-query system in Python
This medium-difficulty coding problem asks you to design and implement a class that supports fast range queries over timestamped trade records. It is representative of the kind of data-structure problem quant trading firms use to assess whether you can balance simplicity with performance, and handle real-world constraints like unsorted input and ties.
The core challenge is choosing the right approach to store and retrieve trades within a time window. You will need to handle initialization, index lookups, and the ordering guarantees required by the output specification. Pay attention to edge cases: trades arriving out of order, multiple trades at the same timestamp, and inclusive boundary conditions.
- Sorting and stable ordering
- Binary search and range retrieval
- Time and space complexity trade-offs in preprocessing
- Preserving insertion order for ties