DIY: Snapshot Array
Solve the interview question "Snapshot Array" in this lesson.
We'll cover the following
Problem statement
In this challenge, you have to implement a SnapshotArray
with the following properties:
-
init(length)
: This property initializes a data structure withlength
number of indexes. Initially, the value at each index is0
. -
set_value(obj,idx,val)
: This property sets the value at a given indexidx
to val. -
snapshot(obj)
: This property only takes the struct object as its parameter and returns thesnapid
.snapid
is the number of times that thesnapshot()
function was called minus1
. -
get_value(obj,idx,snapid)
function returns the value at the indexidx
with the givensnapid
.
Input
The input will be two integers, that is an index and a value. We can set the value of the index idx
,using the set_value(obj,idx,val)
function.
snapshotArr = SnapshotArray.init(3)
snapshotArr.set_value(0,4)
snapshotArr.snapshot()
snapshotArr.get_value(0,0)
snapshotArr.set_value(1,6)
snapshotArr.snapshot()
snapshotArr.get_value(1,1)
Output
The output will be an integer. We will receive an output by calling the get_value(obj,idx,snapid)
function. For example, we will get the following output after calling the get_value(obj,idx,snapid)
function on the input given above:
4
6
Coding exercise
Using the skeleton code given below, you need to implement the SnapshotArray
module with the def init(length)
, set_value(obj,idx,val)
, snapshot(obj)
, and get_value(obj,idx,snapid)
functions:
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.