牛客_设计带有setAll功能的哈希表
思路:
使用“版本号”记录每个key对应的最新的value值。
实现:
1 #include2 using namespace std; 3 int main(){ 4 //freopen("in.txt", "r", stdin); 5 int t;cin>>t; 6 int cnt=0;int val=-1; 7 unordered_map<int,pair<int,int>>mp; 8 while(t--){ 9 int op;cin>>op; 10 if(op==1){ 11 int x,y;cin>>x>>y; 12 mp[x]={cnt+1,y}; 13 } 14 else if(op==2){ 15 int x;cin>>x; 16 if(!mp.count(x)){ 17 cout<<-1<<endl; 18 } 19 else{ 20 auto tmp=mp[x]; 21 int version=tmp.first; 22 if(version>cnt){ 23 cout< endl; 24 } 25 else{ 26 cout< endl; 27 } 28 } 29 } 30 else{ 31 int x;cin>>x; 32 val=x; 33 cnt++; 34 } 35 } 36 return 0; 37 }