该程序找到了我们可以用多种方法连接单词以在Python中生成回文的方法

假设我们有一个不同单词的列表,我们必须找到多种方法,可以将给定单词列表中的两个不同单词连接起来组成回文。

因此,如果输入像单词= [“ time”,“ emit”,“ mo”,“ m”],则输出将为3,因为我们可以将“ timeemit”,“ emittime”和“ mom” 。

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

  • res:= 0

  • ln:=数组中的单词数

  • 对于0到1范围内的k

    • 对于范围i + 1至ln − 1的j

    • res:= res +(单词[i]串联单词[j]为回文时为1,否则为0)

    • 对于i在0到ln − 1的范围内

    • 单词:=逆序单词

    • 返回资源

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

    示例

    class Solution:
       def solve(self, words):
          def is_palindrome(w1, w2):
             w3 = w1 + w2
             return w3 == w3[::−1]
          res = 0
          ln = len(words)
          for k in range(2):
             for i in range(ln):
                for j in range(i + 1, ln):
                   res += is_palindrome(words[i], words[j])
                words = words[::−1]
          return res
    ob = Solution()
    words = ["time", "emit", "mo", "m"]
    print(ob.solve(words))

    输入值

    ["time", "emit", "mo", "m"]
    输出结果
    3

    猜你喜欢