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