Dynamic programming for coding interviews
byte-by-byte.com