Publisher's Synopsis
Are you preparing for a programming interview?
Would you like to work at one of the Internet giants, such as Google, Facebook, Amazon, Apple, Microsoft or Netflix?
Are you looking for a software engineer position?
Are you studying computer science or programming?
Would you like to improve your programming skills?
If the answer to any of these questions is yes, this book is for you!
The book contains very detailed answers and explanations for the most common dynamic programming problems asked in programming interviews. The solutions consist of cleanly written code, with plenty of comments, accompanied by verbal explanations, hundreds of drawings, diagrams and detailed examples, to help you get a good understanding of even the toughest problems. The goal is for you to learn the patterns and principles needed to solve even dynamic programming problems that you have never seen before.
Here is what you will get:
- A 180-page book presenting dynamic programming problems that are often asked in interviews.
- Multiple solutions for each problem, starting from simple but naive answers that are gradually improved until reaching the optimal solution.
- Plenty of detailed examples and walkthroughs, so that you can see right away how the solution works.
- 350+ drawings and diagrams which cater towards visual learners.
- Clear and detailed verbal explanations of how to approach the problems and how the code works.
- Analysis of time and space complexity.
- Discussion of other variants of the same problem, with solutions.
- Unit tests, including the reasoning behind choosing each one (edge case identification, performance evaluation etc.).
- Suggestions regarding what clarification questions you should ask, for each problem.
- Multiple solutions to the problems, where appropriate.
- General Python implementation tips.
Wishing you the best of luck with your interviews!