Solve a classic algorithmic problem related to data structures (e.g., arrays, linked lists, or hash maps). Implement an LRU cache supporting get and put operations in O(1) average time. The function receives a positive capacity and an operation list, returning values only for get operations, with -1 for missing keys; inserting into a full cache evicts the least recently used key. Use the signature and operation format below.
def lru_cache_operations(capacity, operations):