15% off all plans & roadmaps Use code
See plansLeetCode 1146 · Solution & editorial
Implement a SnapshotArray that supports the following interface:
Snapshot Array is a Design Patterns problem, in the Design (General/Specific) subpattern. The pattern covers tries, LRU/LFU cache, and data structure design
Design and implement data structures: LRU cache, LFU cache, HashMap, and specialized structures.
The reference solution runs in O(log S) time and O(N + Q) space.
Snapshot Array has been reported in interviews at Google, Rubrik.
The full editorial is part of Pro
It explains the core insight, the complexity analysis and the common mistakes, with a worked solution.
Snapshot Array is a Design Patterns problem, in the Design (General/Specific) subpattern. Once the approach above makes sense, write it yourself and then work through the neighbouring problems that reuse it.