981. Time Based Key-Value Store
这几天的每日一题都比较直观(无聊)
class TimeMap {
public:
unordered_map<string, vector<pair<int,string>>> M;
TimeMap() {}
void set(string key, string value, int timestamp) {
M[key].push_back({timestamp, value});
}
string get(string key, int timestamp) {
const pair<int, string> pivot{timestamp, "fxfxxxfxx"};
constexpr auto cmp = [](decltype(pivot) a, decltype(pivot) b) {
return a.first > b.first;
};
auto it = lower_bound(M[key].rbegin(), M[key].rend(), pivot, cmp);
return (it == M[key].rend()) ? "" : it->second;
}
};
有点丑,不过随便喇
倒著用std::lower_bound()