精華區beta Marginalman 關於我們 聯絡資訊
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() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.16.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1665039776.A.CA5.html
Rushia: 好好喔 都有酷酷的函式庫 10/06 15:03
MikuLover: 跨謀啦 10/06 15:05
pandix: 大師 10/06 15:12