Above are some practice interview tasks requiring you to use dynamic programming techniques, possibly together with some other algorithms.
For each task you need to write a working solution in one of the accepted programming languages. We have prepared a set of test cases for each task against which your solutions will be graded. The tests have different complexities. Some are smaller in size, some are bigger, others represent various edge cases. The idea is to cover as many different cases as possible.
The goal, of course, is to score 100 points on each task. It is possible that some of your solutions would fail one or more test cases initially. If that happens don't give up and try again. For each task you have a limited number of attempts, so use them wisely.
The next lessons contain solutions to these tasks. Our suggestion is to look at them once you have either solved a problem or if you've been really stuck for a while.
Good luck and happy coding!