The Forgetful Machine
A medium Python interview practice problem on DataDriven. Write and execute real python code with instant grading.
- Domain
- Python
- Difficulty
- medium
- Seniority
- L5
Problem
Implement LRUCache(capacity) with get(key) returning the value or -1 if missing, and put(key, value) that inserts/updates and evicts the least-recently-used entry when capacity is exceeded. Also implement LRUCache_driver(capacity, ops) which runs a sequence of ops (each ['get', k] or ['put', k, v]) against an LRUCache(capacity) and returns the list of get() return values, in order. The grader calls LRUCache_driver(capacity, ops); only get ops contribute a value to the returned list, and the order of returned values matches the order of the get ops.
Summary
It remembers everything, until it does not.
Practice This Problem
Solve this Python problem with real code execution. DataDriven runs your Python code in a real environment and grades it automatically.