Sliding window limiter
Your task
Implement a sliding-window-log rate limiter. Given a list of integer request timestamps (non-decreasing seconds), a 'limit', and a 'window' size in seconds, a request at time t is allowed if the number of previously-allowed requests with timestamp strictly greater than t-window (i.e. within the last 'window' seconds, half-open) is less than 'limit'; an allowed request is recorded. Rejected requests are not recorded. Return a list of booleans aligned to the input. Empty input returns an empty list.
Examples
sliding_window_log(timestamps: list[int], limit: int, window: int) -> list[bool]Example 1
Input
sliding_window_log([1, 2, 3], 2, 10)Output
[True, True, False]