## Collect maximum points in a matrix by satisfying given constraints

Given a M x N matrix where each cell can have value of 1, 0 or -1, where -1 denotes a unsafe cell, collect maximum number of ones starting from first cell and by visiting only safe cells (i.e. 0 or 1). We are allowed to go only left or down if the row is …

## Count number of times a pattern appears in given string as a subsequence

Given a pattern, count number of times the pattern appears in the given string as a subsequence.

## Longest Alternating Subsequence Problem

Longest Alternating Subsequence is a problem of finding a subsequence of a given sequence in which the elements are in alternating order, and in which the sequence is as long as possible.

## Coin Change Problem (Total number of ways to get the denomination of coins)

Given an unlimited supply of coins of given denominations, find the total number of distinct ways to get a desired change.

## Coin change-making problem (unlimited supply of coins)

Given an unlimited supply of coins of given denominations, find the minimum number of coins required to get a desired change.

## Maximum Product Rod Cutting

Given a rod of length n, find the optimal way to cut rod into smaller rods in order to maximize product of price of each of the smaller rod. Assume each rod of length i has price i.

## Rod Cutting Problem

Given a rod of length n and list of prices of rod of length i where 1 < = i

## Find all N-digit binary strings without any consecutive 1’s

Given a positive integer N, count all N-digit binary strings without any consecutive 1’s.

## Minimum Sum Partition Problem

Given a set of positive integers S, partition the set S into two subsets S1, S2 such that the difference between the sum of elements in S1 and the sum of elements in S2 is minimized.

## Subset Sum Problem – Dynamic Programming Solution

Given a set of positive integers and an integer s, is there any non-empty subset whose sum to s.

## Partition problem | Dynamic Programming Solution

Given a set of positive integers, find if it can be divided into two subsets with equal sum.

## Maximize the Value of an Expression

Given an array A, maximize value of the expression (A[s] – A[r] + A[q] – A[p]) where p, q, r and s are indices of the input array and s > r > q > p.