635. Design Log Storage System
635. Design Log Storage System
Description
You are given several logs, where each log contains a unique ID and timestamp. Timestamp is a string that has the following format: Year:Month:Day:Hour:Minute:Second, for example, 2017:01:01:23:59:59. All domains are zero-padded decimal numbers.
Implement the LogSystem class:
LogSystem()Initializes theLogSystemobject.void put(int id, string timestamp)Stores the given log(id, timestamp)in your storage system.int[] retrieve(string start, string end, string granularity)Returns the IDs of the logs whose timestamps are within the range fromstarttoendinclusive.startandendall have the same format astimestamp, andgranularitymeans how precise the range should be (i.e. to the exactDay,Minute, etc.). For example,start = "2017:01:01:23:59:59",end = "2017:01:02:23:59:59", andgranularity = "Day"means that we need to find the logs within the inclusive range from Jan. 1st 2017 to Jan. 2nd 2017 , and theHour,Minute, andSecondfor each log entry can be ignored.
Example 1:
1 | Input |
Constraints:
1 <= id <= 5002000 <= Year <= 20171 <= Month <= 121 <= Day <= 310 <= Hour <= 230 <= Minute, Second <= 59granularityis one of the values["Year", "Month", "Day", "Hour", "Minute", "Second"].- At most
500calls will be made toputandretrieve.
Hints/Notes
- 2025/04/20 Q1
- map
- Leetcode solution
Solution
Language: C++
1 | class LogSystem { |