Preparándose para la Copa Blue Bridge (Parte 3)

Tabla de contenido

Descripción del problema:

Analizar gramaticalmente:

código:

resultado de la operación:


Descripción del problema:

Escriba una función para encontrar el prefijo común más largo en una matriz de cadenas. Devuelve una cadena vacía si no existe un prefijo común ""

Analizar gramaticalmente:

1. Si no hay un prefijo común, devuelva " ", establezca la primera cadena como predeterminada, recorra otras cadenas para compararlas con las cadenas anteriores y finalmente devuelva sus prefijos comunes, escriba uno separado para tomar el prefijo común de dos cadenas función, llame a esta función, la idea de escritura de esta función es la siguiente: tome la longitud común de dos cadenas como índice de bucle, compare si los valores correspondientes de los dos índices son iguales, si son iguales, el index se incrementará en 1, y todas las cadenas se compararán en longitud.

código:

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not  strs:
            return ""


        Prefix,count = strs[0],len(strs)            
        for i in range(1,count):
            Prefix = self.Lcp(Prefix,strs[i])
            if not Prefix:
                break
        return Prefix

    def Lcp(self,str1,str2):
        length,index = min(len(str1),len(str2)),0
        while index < length and str1[index] == str2[index]:
            index += 1
        return str1[:index]

resultado de la operación:

 

Supongo que te gusta

Origin blog.csdn.net/h1998040218/article/details/129805537
Recomendado
Clasificación