【力扣日記】1071 字符串的最大公因子 | 數學問題

題目描述

對於字符串 S 和 T,只有在 S = T + … + T(T 與自身連接 1 次或多次)時,我們才認定 “T 能除盡 S”。

返回最長字符串 X,要求滿足 X 能除盡 str1 且 X 能除盡 str2。

class Solution:
    def gcdOfStrings(self, str1: str, str2: str) -> str:

算法思路

羞愧,真的跟大佬差很遠。

        if str1+str2!=str2+str1:return ''

判斷str1,str2是否有共同的公因子。

然後通過輾轉相除法,得到兩個字符串的最大公因子長度。

        return str1[0:self.gcd(len(str1),len(str2))]

輾轉相除法:

	def gcd(self,a,b):
        return a if b==0 else self.gcd(b,a%b)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章