DIY: Snapshot Array

Solve the interview question "Snapshot Array" in this lesson.

Problem statement

In this challenge, you have to implement a snapshotArray with the following properties:

  • constructor(length): This property initializes a data structure with length number of indexes. Initially, the value at each index is 0.

  • set_value(idx, val): This property sets the value at a given index idx to val.

  • snapshot(): This property takes no parameters and returns the snapid. snapid is the number of times that the snapshot() function was called minus 1.

  • get_value(idx, snapid) function returns the value at the index idx with the given snapid.

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(idx, val) function.

var snapshotArr = new snapshotArray(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(idx, snapid) function. For example, we will get the following output after calling the get_value(idx, snapid) function on the input given above:

4
6

Coding exercise

Using the skeleton code given below, you need to implement the snapshotArray class, set_value(idx, val), snapshot(), and get_value(idx, snapid) functions:

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.