codemistic / Data-Structures-and-Algorithms

A repository to help the open-source community with DSA related contributions
MIT License
324 stars 333 forks source link

Leetcode 981. Time Based Key-Value Store #699

Open NarpatAanjana opened 1 year ago

NarpatAanjana commented 1 year ago

class TimeMap { public: unordered_map<string, set<pair<int,string>>> mp; TimeMap() { mp.clear(); }

void set(string key, string value, int timestamp) {
    mp[key].insert({timestamp, value}); 
}

string get(string key, int timestamp) {
    if(mp[key].size() != 0){
        auto it = mp[key].upper_bound({timestamp, "~"});
        if(it == mp[key].begin()) return "";
        --it;
        return it->second;
    }
    return "";
}

};