被官方题目坑了呀,其实看动图就能发现,他其实要我们输出的是当前记录的下标的最大连续存在的值。
可能有点绕,看一下答案哈
class OrderedStream {
int ptr;
int n;
Map<Integer, String> map;
public OrderedStream(int n) {
this.n = n;
ptr = 1;
map = new HashMap<>();
}
public List<String> insert(int idKey, String value) {
map.put(idKey, value);
List<String> res = new ArrayList<>();
for (int i = ptr; i <= n; i++){
if (!map.containsKey(i)){
break;
}
res.add(map.get(i));
ptr++;
}
return res;
}
}
/**
* Your OrderedStream object will be instantiated and called as such:
* OrderedStream obj = new OrderedStream(n);
* List<String> param_1 = obj.insert(idKey,value);
*/