给定一个有M(0<=100)个单元的存储器,然后按输入顺序给定N(0<=1000)个非负整数a[i](a[i]∈[01000]),如果储存器中本身含有这个非负整数,则无须作任何操作,否则把新输入的非负整数压入存储器内。若储存器已满,那么把储存器内最早进入的非负整数删去,再压入当前的非负整数。

由于数据范围很小,做法很多,这里只介绍一种较优秀的算法。

哈希表用来判断该元素是否存在于储存器中。

而队列的先进先出的性质与题目要求刚好相符合。

对于每次输入,先在哈希表中查找,如果存在,那么什么也不用做,否则插入队列,如果队列超过了规定的长度,那么把队头元素出队即可。