CloudSEK XVigil may repeatedly request the same threat intelligence record. Implement a fixed-capacity least recently used (LRU) cache to avoid recomputing recently accessed results.
Given a positive capacity and a sequence of cache operations, process each operation in order. A get returns the value for a key and marks that key as most recently used. A put inserts or updates a key and marks it as most recently used. If insertion exceeds capacity, evict the least recently used key.
Implement lru_cache(operations, capacity), where operations is a list of operations represented as lists:
['get', key]['put', key, value]Return a list containing the result of every get operation. Return -1 when a key is absent. put operations do not add an output value.
Each operation must run in average O(1) time. Do not use a built-in cache implementation.
def lru_cache(operations, capacity):