Dada una string y un carácter K, encuentre la longitud de substring más larga de K.
Entrada : test_str = ‘abcaaaacbbaa’, K = b
Salida : 2
Explicación : b ocurre dos veces, 2 > 1.Entrada : test_str = ‘abcaacccbbaa’, K = c
Salida : 3
Explicación : El número máximo de veces que ocurre c es 3.
Método #1: Usar bucle
Esta es una forma bruta de resolver este problema, en esto, cuando se encuentra K, el contador se mantiene hasta que ocurre otro carácter, y se anota el conteo, el máximo de estos conteos se mantiene y se devuelve como resultado.
Python3
# Python3 code to demonstrate working of # Longest Substring of K # Using loop # initializing string test_str = 'abcaaaacbbaa' # printing original String print("The original string is : " + str(test_str)) # initializing K K = 'a' cnt = 0 res = 0 for idx in range(len(test_str)): # increment counter on checking if test_str[idx] == K: cnt += 1 else: cnt = 0 # retaining max res = max(res, cnt) # printing result print("The Longest Substring Length : " + str(res))
The original string is : abcaaaacbbaa The Longest Substring Length : 4
Método #2: Usar findall() + max()
En esto, obtenemos todas las substrings posibles de K usando findall() y max() se usa sobre él para obtener la longitud máxima con len como clave.
Python3
# Python3 code to demonstrate working of # Longest Substring of K # Using findall() + max() import re # initializing string test_str = 'abcaaaacbbaa' # printing original String print("The original string is : " + str(test_str)) # initializing K K = 'a' # getting all substrings res = re.findall(r'' + K + '+', test_str) # getting maximum of substrings Length res = len(max(res, key = len)) # printing result print("The Longest Substring Length : " + str(res))
The original string is : abcaaaacbbaa The Longest Substring Length : 4
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA