From 7c60dee83b436e8e8a667bf9f191beced8de4fc3 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Mon, 10 Mar 2025 00:36:13 -0600 Subject: chore: move cpp and rust code to directory --- other/time_base_key_val.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 other/time_base_key_val.cpp (limited to 'other/time_base_key_val.cpp') diff --git a/other/time_base_key_val.cpp b/other/time_base_key_val.cpp new file mode 100644 index 0000000..c23fb87 --- /dev/null +++ b/other/time_base_key_val.cpp @@ -0,0 +1,32 @@ +#include "leetcode.h" + +class TimeMap { +public: + unordered_map>> umvp; + TimeMap() {} + void set(string key, string value, int timestamp) { + umvp[key].push_back({timestamp, value}); + } + string get(string key, int timestamp) { + if (!umvp.count(key)) + return ""; + int start = 0, end = umvp[key].size(); + while (start < end) { + int mid = start + (end - start) / 2; + if (umvp[key][mid].first > timestamp) + end = mid; + else + start = mid + 1; + } + return start > 0 && start <= umvp[key].size() ? umvp[key][start - 1].second + : ""; + } +}; + +int main() { + string key, value; + int timestamp; + TimeMap *obj = new TimeMap(); + obj->set(key, value, timestamp); + string param_2 = obj->get(key, timestamp); +} -- cgit v1.2.3