LRU Cache

Employing doubly-linked list
Surrounded regions

Find regions that are surrounded by X's in a board