Advertisement
nikunjsoni

1146

Jun 23rd, 2021
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. class SnapshotArray {
  2. public:
  3.     unordered_map<int, map<int, int>> a;
  4.     int cur_snap = 0;
  5.    
  6.     SnapshotArray(int length) {
  7.        
  8.     }
  9.    
  10.     int snap() {
  11.         return cur_snap++;
  12.     }
  13.  
  14.     void set(int index, int val) {
  15.       a[index][cur_snap] = val;
  16.     }
  17.    
  18.     int get(int index, int snap_id) {
  19.       auto it = a[index].upper_bound(snap_id);
  20.       return it == begin(a[index]) ? 0 : prev(it)->second;
  21.     }
  22. };
  23. /**
  24.  * Your SnapshotArray object will be instantiated and called as such:
  25.  * SnapshotArray* obj = new SnapshotArray(length);
  26.  * obj->set(index,val);
  27.  * int param_2 = obj->snap();
  28.  * int param_3 = obj->get(index,snap_id);
  29.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement