该程序找到了我们可以用多种方法连接单词以在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