# Category: DP

## Implement Diff Utility

Implement your own diff utility. i.e given two similar strings, efficiently list out all differences between them.

## Count total possible combinations of N-digit numbers in a mobile keypad

Given a mobile keypad having digits from [0-9] associated with each key, count total possible combinations of digits having length n. We can start with any digit and press only four adjacent keys of any digit. Keypad also contains * and # key which we are not allowed to press.

Read More Count total possible combinations of N-digit numbers in a mobile keypad

## Longest Common Subsequence of K-sequences

The longest common subsequence (LCS) problem is the problem of finding the longest subsequence that is present in given two sequences in the same order. i.e. find a longest sequence which can be obtained from the first original sequence by deleting some items, and from the second original sequence by deleting other items.

Read More Longest Common Subsequence of K-sequences

## Wildcard Pattern Matching

Given a string and a pattern containing wildcard characters i.e. ‘*’ and ‘?’, where ‘?’ can match to any single character in input string and ‘*’ can match to any number of characters including zero characters, design an efficient algorithm to find if the pattern matches with the complete input string or not.

## Word Break Problem

Given a string and a dictionary of words, determine if string can be segmented into a space-separated sequence of one or more dictionary words.

## Find optimal cost to construct Binary Search Tree

Find optimal cost to construct binary search tree where each key can repeat several times. We are given frequency of each key in same order as corresponding keys in inorder traversal of a binary search tree.

Read More Find optimal cost to construct Binary Search Tree

## 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 …

Read More Collect maximum points in a matrix by satisfying given constraints

## Longest alternating subsequence

Longest Alternating Subsequence problem 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. In order words, find the length of longest subsequence with alternate low and high elements.