leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0981.cpp (737B)
0 class TimeMap {
1 unordered_map<string, vector<pair<int, string>>> um;
3 public:
4 void set(const string &key, const string &value, int timestamp) {
5 um[key].emplace_back(timestamp, value);
6 }
8 string get(const string &key, int timestamp) {
9 const auto &vec = um[key];
10 int low = 0, high = size(vec) - 1;
11 string res = "";
13 while (low <= high) {
14 const auto mid = low + (high - low) / 2;
16 if (vec[mid].first == timestamp) return vec[mid].second;
17 if (vec[mid].first >= timestamp)
18 high = mid - 1;
19 else {
20 res = vec[mid].second;
21 low = mid + 1;
22 }
23 }
25 return res;
26 }
27 };