Example 1
- Input
- ["LFUCache", "put", "put", "get", "put", "get", "get", "put", "get", "get", "get"] [[2], [1, 1], [2, 2], [1], [3, 3], [2], [3], [4, 4], [1], [3], [4]]
- Output
- [null, null, null, 1, null, -1, 3, null, -1, 3, 4]
The constructor and writes return null. Reading key 1 raises it to frequency 2, so inserting key 3 evicts key 2 at frequency 1. Reading absent key 2 returns -1 without changing state. Reading key 3 creates a frequency-2 tie; key 1 was used earlier, so inserting key 4 evicts key 1. The final reads return -1, 3, and 4.