Cache Query Handler
Learn this problemProblem statement
Implement a prototype of a simple cache query handler.
There are n data entries stored in the cache. Each entry is of the form
[timestamp, key, value], where timestamp represents the time at which
the entry was stored in the cache, key represents the ID assigned to the cache entry,
and value represents the data value of the entry, an integer represented as a string.
The keys assigned to the cache entries may not be unique. The cache query handler receives query
requests, where each query is of the form [key, timestamp], where key
represents the ID of the cache entry to find, and timestamp represents the time the
entry was added.
Given two 2D arrays of strings, cache_entries, and queries, of sizes
n x 3 and q x 2 respectively, return an array of size q
with the data values for each query.
Function
cacheQueryHandler(cacheEntries: String[][], queries: String[][]) → String[]Examples
Example 1
cacheEntries = [["12:30:22", "a2er5i80", "125"], ["09:07:47", "i09ju56", "341"], ["01:23:09", "a2er5i80", "764"]]queries = [["a2er5i80", "01:23:09"], ["i09ju56", "09:07:47"]]return = ["764", "341"]
- queries[0] corresponds to the data entry at index 2, with value = "764" - queries[1] corresponds to the data entry at index 1, with value = "341"
Example 2
cacheEntries = [["12:30:22", "a2er5i80", "125"], ["09:07:47", "i09ju56", "341"], ["01:23:09", "a2er5i80", "764"]]queries = [["a2er5i80", "01:23:09"], ["i09ju56", "09:07:47"]]return = ["764", "341"]
- queries[0] corresponds to the data entry at index 2, with value = "764" - queries[1] corresponds to the data entry at index 1, with value = "341"
Constraints
1 ≤ n ≤ 10^51 ≤ q ≤ 10^51 ≤ int(cache_entries[i][2]) ≤ 10^8cache_entries[i][0]represents a valid timestamp in the format hh:mm:sssize(cache_entries[i][0]) = 8cache_entries[i][1], is an alphanumeric value, consisting of only lowercase English letters (a-z), and digits (0-9)- It is guaranteed that the queried
[key, timestamp]pair is present in the cache. - At a particular timestamp, there can be no duplicate keys.