- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Program to make target by removing from first or last and inserting again in Python
Suppose we have two strings S and T and they are permutations of each other. Suppose there is an operation where we remove either the first or the last character in S and insert it anywhere in the string. Then find the minimum number of operations needed to convert S into T.
So, if the input is like s = "zyvxw" t = "vwxyz", then the output will be 3, as these operations are: Remove "w" and insert it after "v" to get "zyvwx" Remove "z" and insert it after "x" to get "yvwxz" Remove "y" and insert it after "x" to get "vwxyz".
To solve this, we will follow these steps −
ans := size of s, n := size of s
for i in range 0 to n-1, do
k := 0
for j in range i to n-1, do
for k in range k to size of t, do
if s[j] is same as t[k], then
ans := minimum of ans and n - (j - i + 1)
come out from the loop
k := k + 1
return ans
Let us see the following implementation to get better understanding −
Example
class Solution: def solve(self, s, t): ans = n = len(s) for i in range(n): k = 0 for j in range(i, n): for k in range(k, len(t)): if s[j] == t[k]: ans = min(ans, n - (j - i + 1)) break k += 1 return ans ob = Solution() s = "zyvxw" t = "vwxyz" print(ob.solve(s, t))
Input
"zyvxw", "vwxyz"
Output
5
- Related Articles
- Program to find number of operations needed to make pairs from first and last side are with same sum in Python
- Program to remove last occurrence of a given target from a linked list in Python
- Program to check first player can win by reaching total sum to target in Python
- Python program to interchange first and last elements in a list
- Program to find number of restricted paths from first to last node in Python
- Program to find maximum sum by removing K numbers from ends in python
- Program to find how max score we can get by removing 10 or 01 from binary string in Python
- Removing duplicates and inserting empty strings in JavaScript
- Find longest palindrome formed by removing or shuffling chars from string in Python
- Java Program to Get First and Last Elements from an Array List
- Program to find intervals by merging target interval in Python
- Python Program to Swap the First and Last Value of a List
- Program to find maximum score from removing stones in Python
- Program to count maximum score from removing substrings in Python
- Program to count minimum number of operations to flip columns to make target in Python
