dsa · medium

Logger Rate Limiter

GreyOrangeHash MapDesign

shouldPrintMessage(t, message) → true if this message was *not* printed in the last 10 seconds (t non-decreasing). First time is always printed.

Fill in the Logger class. The starter already walks ops / args and calls your methods — leave the driver at the bottom as-is. Constructors contribute null; booleans print as true / false.

**Example**

`` Logger() → null shouldPrintMessage(1, "foo") → true shouldPrintMessage(2, "bar") → true shouldPrintMessage(3, "foo") → false shouldPrintMessage(8, "bar") → false shouldPrintMessage(10, "foo") → false ``

Constraints

Calls <= 1000

Examples

Example 1

Input:
["Logger","shouldPrintMessage","shouldPrintMessage","shouldPrintMessage","shouldPrintMessage","shouldPrintMessage"]
[[],[1,"foo"],[2,"bar"],[3,"foo"],[8,"bar"],[10,"foo"]]

Expected:
[null,true,true,false,false,false]

Open in the Dojo editor