Python中字符串的最大公约数
假设有两个字符串A和B。可以说当A通过一次或多次串联创建A时,A可被B整除。因此,如果A=“abcabc”,而B=“abc”,则A可被B整除。在本节中,我们将看到字符串的最大公约数是什么。因此,返回将两个字符串分开的最大字符串。因此,如果两个字符串分别是“ABABAB”和“ABAB”,则GCD将为“AB”
为了解决这个问题,我们将遵循以下步骤-
temp:=A和B之间的较短字符串
m:=温度长度
x:=1
res是一个数组,在“res”中插入“”
而A和B的子字符串大小为x,则将该子字符串添加到res中,并将x增大1
最后返回res数组中的最后一个元素。
示例
让我们看下面的实现以更好地理解-
class Solution(object):
def gcdOfStrings(self, str1, str2):
if len(str1)<=len(str2):
temp = str1
else:
temp = str2
m = len(temp)
x = 1
res=[""]
while x<=m:
if m%x==0 and temp[:x] * (len(str1)//x) == str1 and temp[:x] * (len(str2)//x) == str2:
res.append(temp[:x])
x+=1
return res[-1]
ob1 = Solution()print(ob1.gcdOfStrings("ABABAB","ABAB"))输入项
"ABABAB" "ABAB"
输出结果
AB