leetcode 1071. As grandes corda cordas divisor comum de GCD euclidianas

leetcode 1071. As grandes corda cordas divisor comum de GCD euclidianas

leetcode 2020 01 de março questão perfurador diária
euclidianaveja https://blog.csdn.net/weixin_43973433/article/details/105007066

Título:
Para strings S e T, apenas a S = T + ... + T ( T ligado a si próprio uma ou mais vezes), identificamos "T S pode ser divisível." Retorna a mais longa seqüência de X, X pode cumprir as exigências, e X pode ser divisível str2 str1 divisível.

Exemplo 1:
Entrada: seq1 = "abcabc", seq2 = "ABC"
Saída: "ABC"
Exemplo 2:
Entrada: seq1 = "ABABAB", seq2 = "ABAB"
Saída: "AB"
Exemplo 3:
Entrada: seq1 = " LEET "str2 =" CODE "
saída": "

Dica:
. 1 <= str1.length <= 1000
1 <= str2.length <= 1000.
Str1 [I] e str2 [i] maiúsculas letras

ideias:

  1. Se as duas cadeias têm o denominador comum, então a + b b + a ==
  2. Dois comprimento da corda é igual ao maior divisor comum entre o comprimento do segmento duas convenções da corda

código:

class Solution(object):
    def gcdOfStrings(self, str1, str2):
        """
        :type str1: str
        :type str2: str
        :rtype: str
        """
        # 如果两个字符串有最大公约数,则a+b == b+a
        if str1+str2 != str2+str1:
            return ""

        # 两字符串最大公约段的长度等于两字符串长度的最大公约数
        # 辗转相除法
        def gcd(m,n):
            return gcd(n,m%n) if n else m
        
        return str1[:gcd(len(str1),len(str2))]
                

Este blog é um trabalho original, saudou a orientação, reproduzido, por favor indique a fonte, anexar um link para este artigo, obrigado!

Publicado 20 artigos originais · ganhou elogios 1 · visualizações 190

Acho que você gosta

Origin blog.csdn.net/weixin_43973433/article/details/105007655
Recomendado
Clasificación