The Algorithm Design Manual
Exercises for Programmers: 57 Challenges to Develop Your Coding Skills
Programming Pearls
Programming Problems: Advanced Algorithms
Fifty Challenging Problems in Probability with Solutions (Dover Books on Mathematics)
Programming Problems: A Primer for The Technical Interview
My Best Mathematical and Logic Puzzles (Dover Recreational Math)
Markov Models: Understanding Markov Models and Unsupervised Machine Learning in Python with Real-World Applications
Coding Interview Ninja: 50 coding questions with Java solutions to practice for your coding interview.