程序检查在Python中进行字符串回文所需的最少字符数

假设我们有一个字符串s,我们必须找到需要插入的最少字符数,以便该字符串成为回文。

因此,如果输入类似于s =“ mad”,则输出将为2,因为我们可以插入“ am”来获取“ madam”。

为了解决这个问题,我们将遵循以下步骤-

  • 定义一个功能dp()。这需要我,j

  • 如果i> = j,则

    • 返回0

  • 如果s [i]与s [j]相同,则

    • 返回dp(i + 1,j-1)

  • 除此以外,

    • 返回dp(i + 1,j)和dp(i,j-1)+ 1的最小值

  • 在主要方法中,执行以下操作

  • 返回dp(0,s的大小-1)

让我们看下面的实现以更好地理解-

示例

class Solution:

   def solve(self, s):

      def dp(i, j):

         if i >= j:

            return 0

         if s[i] == s[j]:

            return dp(i + 1, j - 1)

         else:

            return min(dp(i + 1, j), dp(i, j - 1)) + 1

      return dp(0, len(s) - 1)

ob = Solution()s = "mad"

print(ob.solve(s))

输入值

s = "mad"

输出结果

2

以上是 程序检查在Python中进行字符串回文所需的最少字符数 的全部内容, 来源链接: utcz.com/z/334763.html

回到顶部