
- Python Basic Tutorial
- Python - Home
- Python - Overview
- Python - Environment Setup
- Python - Basic Syntax
- Python - Comments
- Python - Variables
- Python - Data Types
- Python - Operators
- Python - Decision Making
- Python - Loops
- Python - Numbers
- Python - Strings
- Python - Lists
- Python - Tuples
- Python - Dictionary
- Python - Date & Time
- Python - Functions
- Python - Modules
- Python - Files I/O
- Python - Exceptions
Program to find minimum deletions to make strings strings in Python
Suppose we have two lowercase strings s and t, now consider an operation where we can delete any character in any of these two strings. We have to find the minimum number of operations needed to make s and t equal.
So, if the input is like s = "pipe" t = "ripe", then the output will be 2, because we can delete "p" from s and "r" from t to make these strings same "ipe"
To solve this, we will follow these steps −
- m := size of s
- n := size of t
- Define a function dp() . This will take i, j
- if i is same as m, then
- return n - j
- otherwise when j is same as n, then
- return m - i
- otherwise,
- if s[i] is same as t[j], then
- return dp(i + 1, j + 1)
- otherwise,
- return 1 + (minimum of dp(i + 1, j) and dp(i, j + 1))
- if s[i] is same as t[j], then
- From the main method, return dp(0, 0)
Example
Let us see the following implementation to get better understanding −
def solve(s, t): m = len(s) n = len(t) def dp(i, j): if i == m: return n - j elif j == n: return m - i else: if s[i] == t[j]: return dp(i + 1, j + 1) else: return 1 + min(dp(i + 1, j), dp(i, j + 1)) return dp(0, 0) s = "pipe" t = "ripe" print(solve(s, t))
Input
"pipe", "ripe"
Output
2
- Related Articles
- Program to find minimum deletions to make string balanced in Python
- Program to count minimum deletions needed to make character frequencies unique in Python
- Minimum Swaps to Make Strings Equal in C++
- Program to find minimum number of deletions required from two ends to make list balanced in Python
- Minimum Cost To Make Two Strings Identical in C++
- Using Counter() in Python 3.x. to find minimum character removal to make two strings anagram
- Find the minimum number of preprocess moves required to make two strings equal in Python
- Program to split two strings to make palindrome using Python
- Minimum Cost to make two Numeric Strings Identical in C++
- Minimum move to end operations to make all strings equal in C++
- Minimum Number of Steps to Make Two Strings Anagram in C++
- Program to find the minimum edit distance between two strings in C++
- Minimum number of deletions to make a string palindrome in C++.
- Program to find largest merge of two strings in Python
- Python program to find uncommon words from two Strings

Advertisements