Solution: Time-Based Key-Value Store

Let's solve the Time-Based Key-Value Store problem using Custom Data Structures.


Design a data structure that can store multiple values of the same key at different timestamps and retrieve the key’s value at a certain timestamp.

Implement a struct, TimeStamp, which should provide the following functionalities:

  • NewTimeStamp(): This function initializes the values dictionary and timestamp dictionary.

  • Set Value(key, value, timestamp): This function stores the key and value at any given timestamp.

  • Get Value(key, timestamp): This function returns the value set for this key at the specified timestamp.

Note: When a query requests the value of a key at a timestamp that is more recent than the most recent entry for that key, our data structure should return the value corresponding to the most recent timestamp.


  • 11 \leq key.length, value.length 20\leq 20
  • key and value consist of lowercase English letters and digits.
  • 11 \leq timestamp 103\leq 10^3
  • At most 1×1031 \times 10^3 calls will be made to Set Value and Get Value.
  • All the timestamps, timestamp, of Set Value are strictly increasing.

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