Medium
,Array
,Binary Search
,Hash Table
,Design
Implement a SnapshotArray that supports the following interface:
SnapshotArray(int length)
initializes an array-like data structure with the given length. Initially, each element equals 0.void set(index, val)
sets the element at the given index
to be equal to val
.int snap()
takes a snapshot of the array and returns the snap_id
: the total number of times we called snap()
minus 1
int get(index, snap_id)
returns the value at the given index
, at the time we took the snapshot with the given snap_id
Example 1:
Constraints:
snap()
)set
, snap
, and get
.