Lesson 17: Dynamic programming

Dynamic Programming is a technique in computer programming that helps to efficiently solve a class of problems that have overlapping subproblems and optimal substructure properties.

Open reading material (PDF)

NumberSolitaire

In a given array, find the subset of maximal sum in which the distance between consecutive elements is at most 6.

Difficulty Level: Medium

MinAbsSum

Given an array of integers, find the lowest absolute sum of elements.

Difficulty Level: Hard