Knowledge based:
Array vs. linkedlist
hashtable how it works

1. number of islands (one dimensional)
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.
2. is palindrome (recursive)
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
3. valid parenthese (stack, follow up o(1) space)
Given a string containing just the characters ' ( ', ' ) ', '{', '}', '[' and ']', determine if the input string is valid.
4. design a deck