Problems from Cracking the Code Interview, 5th ed