**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **LRU Cache** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
Doubly-linked list + hash map for O(1) ops
**Edge Cases to Consider:**
- (1) Capacity = 1
- (2) Get on non-existent key
- (3) Put updates existing key