Logger Rate Limiter
Closed this issue · 0 comments
ami-ryu commented
Logger Rate Limiter | Problem
Map
- Time Complexity: O(1)
- Space Complexity: O(N) = HashMap
var Logger = function() {
this.hashMap = new Map();
};
Logger.prototype.shouldPrintMessage = function(timestamp, message) {
const prevTime = this.hashMap.get(message);
if (typeof prevTime === "undefined") {
this.hashMap.set(message, timestamp);
return true;
}
if (prevTime + 10 <= timestamp) {
this.hashMap.set(message, timestamp);
return true;
}
return false;
};
조금 더 간결하게 만든 코드
class Logger {
constructor() {
this.map = new Map();
}
shouldPrintMessage(timestamp, message) {
const prevTime = this.map.get(message);
if (typeof prevTime !== "undefined" && timestamp < prevTime + 10) return false;
this.map.set(message, timestamp);
return true;
}
}