Solution: Logger Rate Limiter
Explore how to build a logger rate limiter that allows or blocks messages based on whether they have appeared in a recent time window. Learn both a naive queue-based approach and an optimized hash map solution to manage message timestamps and avoid duplicates efficiently while understanding their time and space complexities.
We'll cover the following...
Statement
For the given stream of message requests and their timestamps as input, you must implement a logger rate limiter system that decides whether the current message request is displayed. The decision depends on whether the same message has already been displayed in the last seconds. If yes, then the decision is FALSE, as this message is considered a duplicate. Otherwise, the decision is TRUE.
Note: Several message requests, though received at different timestamps, may carry identical messages.
Constraint:
-
request.length