Minimum Insertion Steps to Make a String Palindrome (Leetcode 1312)
Problem Link: https://leetcode.com/problems/minimum-insertion-steps-to-make-a-string-palindrome/
class Solution:
def minInsertions(self, s: str) -> int:
n=len(s)
s1=s
s2=s[::-1]
dp=[[0 for i in range(n+1)] for j in range(n+1)]
for i in range(n+1):
for j in range(n+1):
if(i==0 or j==0):
dp[i][j]=0
else:
if(s1[i-1]==s2[j-1]):
dp[i][j]=1+dp[i-1][j-1]
else:
dp[i][j]=max(dp[i-1][j],dp[i][j-1])
return n-dp[n][n]
PreviousLongest Palindromic Subsequence (Leetcode 516)NextDelete Operation for Two Strings (Leetcode 583)
Last updated