zoukankan      html  css  js  c++  java
  • LC 981. Time Based Key-Value Store

    Create a timebased key-value store class TimeMap, that supports two operations.

    1. set(string key, string value, int timestamp)

    • Stores the key and value, along with the given timestamp.

    2. get(string key, int timestamp)

    • Returns a value such that set(key, value, timestamp_prev) was called previously, with timestamp_prev <= timestamp.
    • If there are multiple such values, it returns the one with the largest timestamp_prev.
    • If there are no values, it returns the empty string ("").
    Runtime: 212 ms, faster than 55.01% of C++ online submissions for Time Based Key-Value Store.
    Memory Usage: 57 MB, less than 100.00% of C++ online submissions for Time Based Key-Value Store.
    class TimeMap {
    private:
      unordered_map<string, map<int, string>> mp;
      vector<int> tvec;
    public:
      /** Initialize your data structure here. */
      TimeMap() {}
    
      void set(string key, string value, int timestamp) {
        mp[key][timestamp] = value;
      }
    
      string get(string key, int timestamp) {
        if(!mp.count(key)) return "";
        if(mp[key].count(timestamp)) return mp[key][timestamp];
        for(auto it = mp[key].rbegin(); it != mp[key].rend(); it++) {
          if(it->first > timestamp) continue;
          else {
            return it->second;
          }
        }
        return "";
      }
    };
  • 相关阅读:
    下载文件 文件名 乱码的问题.
    Powershell 变量
    20101227 [随笔] Roy
    20101022 [随笔] Roy
    20100927 [随笔] Roy
    20101209 [随笔] Roy
    20101123 [随笔] Roy
    20101213 [随笔] Roy
    第一 笔记
    分享Sokcet方式请求HTTP/HTTPS的封装类HttpHelper V2
  • 原文地址:https://www.cnblogs.com/ethanhong/p/10351773.html
Copyright © 2011-2022 走看看