Use a priority queue. It can be reordered in terms of time accessed.
1
Anonymous
7 Jun 2011
I tried to come out with a complicated solution, but they wanted the simplest one. A Hashmap and doubly linked list should satisfy them. Keep putting the recently accessed node on top of the queue and while inserting a new element, if its full, remove the last node in the queue.