We should give credits to Gayle Laakmann McDowell for her great work Cracking the Coding Interview.
Ctci stands out among many interview books by providing not only questions but also incremental hints and solutions. However, comparing to online judge systems, Ctci doesn't come with tests. This repo attempts to fill this gap by adding tests for each question.
- First, writing tests helps to understand the question.
- Second, we can improve our testing skills
- Last but not least, tests allow to try out many different solutions.
This repo includes two git branches:
- practice: With provided tests, you can focus on problem solving.
- master: Compare your tests and solutions with references.
To get started, please follow the steps below:
-
Fork this repository
-
Checkout
practice
branch to solve questions -
Compare with the reference. For instance,you want to check the optimal solution for
IsUnique
git diff master -- src/main/java/arraystring/_01_01_IsUnique.java
-
Give your feedback! If you find better solutions or tests, we'd love to see your Pull Request.
Don't worry if you stuck on questions. When it happens, go out for a walk, eat an ice cream or send me a tweet. Come back later when you feel better. The most important thing is that you keep practicing.