Problem
Implement a function that powers a debounced search feature over a list of strings. Given a sequence of timestamped query updates and a dictionary of searchable items, return the search results emitted after debouncing each burst of input. Matching must be case-insensitive and based on substring containment. Repeated queries should reuse cached results instead of recomputing them.
Constraints
- 1 <= len(items) <= 10^4
- 1 <= len(events) <= 10^5
- 0 <= timestamp <= 10^9, strictly increasing
- 1 <= debounce_ms <= 10^6
- Each query and item contains only ASCII letters and has length 0..50
Function Signature
def debounced_search(items, events, debounce_ms):
You are practicing as a guest. Sign up free to run your code against the sample data. Your draft stays right here.



