题目:一个集合,里面的数据是0-1000的整数,要求设计一数据结构/算法,使得查找/删除/计数/遍历/插入都是O(1)的复杂度。 其中,遍历是指遍历到下一个集合
题目:一个集合,里面的数据是0-1000的整数,要求设计一数据结构/算法,使得查找/删除/计数/遍历/插入都是O(1)的复杂度。
其中,遍历是指遍历到下一个集合元素,而不是遍历整个集合。
我想的是直接建int[1001]的数组。为1表示该下标的元素存在,为0则不存在。
这样查找/删除/插入都是O(1)的复杂度
另有一counter,在插入/删除的时候计算其值,这样计数也是O(1)
现在搞不定的就是遍历(goNext),是O(n)的复杂度。题目要求是O(1),也就是能直接访问到下一个集合中的元素
有想过每个元素保存自己的前驱和后继,但是不知道如何在插入的时候维护它们
请各位指教