U503106 手写哈希表
题目背景
本题可以使用其他方法解决。
但是出于训练目的,请手写一个哈希表来实现。
题目描述
请你手写一个 ```unordered_map s;```
具体来说,你需要实现以下功能:
假设有一个虚拟的长度为 $n$ 的数组,实现以下操作:
- ```1 x y``` 表示赋值语句 ```a[x]=y;```
- ```2 x``` 表示输出 ```a[x]```,如果 ```a[x] ``` 没有被赋值,输出 ```-1```
输入格式
第一行一个整数 $T$ 表示操作数。
接下来 $T$ 行表示操作。
输出格式
对于每一个 $2$ 操作输出一行一个整数表示答案。
说明/提示
$1\leq x,y\leq10^9$ , $1\leq T \leq 10^5$。
请尽量做到接近 $O(T)$ 的复杂度,本题因为输入效率的影响较难制造数据点。
禁止直接使用 ```unordered_map``` 。