New problems:
- find longest increasing run and longest increasing subsequence
- generate all subsets of a set via backtracking
- find the minimum number of coins to make up a sum (backtracking and dynamic programming)
- sort array of 0 and 1, most efficient way
- sort array of 0, 1 and 2 in most efficient way
- print all possible paths from root to leaves in a binary_tree