Category Archives: Dynamic Programming

Dynamic Programming | Set 5 (Edit Distance)

Given two strings str1 and str2 and below operations that can performed on str1. Find minimum number of edits (operations) required to convert ‘str1’ into ‘str2’. Insert Remove Replace All of the above operations are of equal cost. Examples: Input: str1 = “geek”, str2 = “gesek” Output: 1 We can convert str1 into str2 by… Read More »

Dynamic Programming | Set 2 (Optimal Substructure Property)

As we discussed in Set 1, following are the two main properties of a problem that suggest that the given problem can be solved using Dynamic programming: 1) Overlapping Subproblems 2) Optimal Substructure We have already discussed Overlapping Subproblem property in the Set 1. Let us discuss Optimal Substructure property here. 2) Optimal Substructure: A… Read More »

Maximum size square sub-matrix with all 1s

Given a binary matrix, find out the maximum size square sub-matrix with all 1s. For example, consider the below binary matrix. We strongly recommend that you click here and practice it, before moving on to the solution. Algorithm: Let the given binary matrix be M[R][C]. The idea of the algorithm is to construct an auxiliary… Read More »

Ugly Numbers

Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, … shows the first 11 ugly numbers. By convention, 1 is included. Given a number n, the task is to find n’th Ugly number. Input : n = 7… Read More »