A veces, mientras trabajamos con Strings, podemos tener un problema en el que necesitamos realizar la extracción de la longitud de la consecución más larga de cierta letra. Esto puede tener aplicación en desarrollo web y programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Usar bucle
Este es un método de fuerza bruta en el que podemos realizar esta tarea. En esto, ejecutamos un ciclo sobre la String y seguimos memorizando el máximo cada vez que ocurre la ejecución.
# Python3 code to demonstrate working of # Longest Run of Character in String # Using loop # initializing string test_str = 'geeksforgeeeks' # printing original string print("The original string is : " + test_str) # initializing K K = 'e' # Longest Run of Character in String # Using loop res = 0 cnt = 0 for chr in test_str: if chr == K: cnt += 1 else: res = max(res, cnt) cnt = 0 res = max(res, cnt) # printing result print("Longest Run length of K : " + str(res))
The original string is : geeksforgeeeks Longest Run length of K : 3
Método n.º 2: Usarmax() + re.findall()
Esta es una forma lineal en la que se puede resolver este problema. En esto, encontramos el máximo de todas las ejecuciones encontradas usando findall().
# Python3 code to demonstrate working of # Longest Run of Character in String # Using max() + re.findall() import re # initializing string test_str = 'geeksforgeeeks' # printing original string print("The original string is : " + test_str) # initializing K K = 'e' # Longest Run of Character in String # Using max() + re.findall() res = len(max(re.findall(K + '+', test_str), key = len)) # printing result print("Longest Run length of K : " + str(res))
The original string is : geeksforgeeeks Longest Run length of K : 3
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