EasyStack & Queue
Number of Recent Calls
Recent request count in range
Solution Approach
Use queue to maintain requests within 3000ms window. Remove outdated requests and return count.
Implementation
class RecentCounter:
def __init__(self):
from collections import deque
self.requests = deque()
def ping(self, t: int) -> int:
self.requests.append(t)
while self.requests and self.requests[0] < t - 3000:
self.requests.popleft()
return len(self.requests)Complexity Analysis
Time Complexity
O(1)Space Complexity
O(n)Complexity
Time:O(1)
Space:O(n)
Asked at
GoogleAmazon