algorithm Number of unique partitions of an integer Given a positive integer, the problem is to find all the Unique Partitions of the number. We can understand the above problem using some basic examples. Naive approach takes O((N^N)log N) time complexity while Dynamic programming takes O(2^N)

algorithm Number of non unique Partitions of an Integer The problem is to find number of non unique partitions of an integer. To solve this problem, we will explore naive approach O(N^N), Dynamic programming approach O(N^2) and Optimal approach O(log N)

algorithm Find the Longest Arithmetic Progression using Dynamic Programming The problem we will solve is that given a set of integers in sorted order, find length of longest arithmetic progression in that set. This can be solved by brute force in O(N^3) while a dynamic programming approach with take O(N^2) time complexity.