被官方题目坑了呀,其实看动图就能发现,他其实要我们输出的是当前记录的下标的最大连续存在的值。
可能有点绕,看一下答案哈
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);
*/

这篇博客主要讨论了`OrderedStream`类的实现,该类在接收到idKey和value后,能返回从当前记录开始的最大连续存在的值。类内部使用了Map存储数据,并通过`insert`方法更新和获取连续的记录。博客通过示例代码详细解释了类的工作原理和使用方式。

226

被折叠的 条评论
为什么被折叠?



