Untitled

 avatar
unknown
java
2 years ago
505 B
17
Indexable
    Map<String, Deque<Long>> map = new HashMap<>();

    boolean accept(String token, long timestamp) {
        if (!map.containsKey(token))
            map.put(token, new ArrayDeque<>(k));
        Deque<Long> queue = map.get(token);
        while (queue.size() > 0 && timestamp - queue.peekFirst() > 1000) {
            queue.pollFirst();
        }

        if (queue.size() <= n) {
            queue.addLast(timestamp);
            return true;
        } else {
            return false;
        }
    }
Editor is loading...