Dada la string de destino y la substring del argumento, cuente cuántas substrings se pueden construir usando caracteres de string, no se permiten repeticiones.
Entrada : test_str = «geksefokesgergeeks», arg_str = «geeks»
Salida : 3
Explicación : «geeks» se pueden crear 3 veces usando caracteres de string.Entrada : test_str = “gefroksefokesgergeeks”, arg_str = “for”
Salida : 2
Explicación : “for” se puede crear 2 veces usando caracteres de string.
Método n. ° 1: usar count() + min() + set()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, dividimos el conteo de cada elemento de la string arg con el conteo del carácter de la string de destino, y usando min(), se devuelve el elemento más bajo. La lógica detrás es que cualquier elemento por encima de min significaría que el elemento mínimo faltaría a partir de esa string.
Python3
# Python3 code to demonstrate working of # Possible Substring count from String # Using min() + list comprehension + count() # initializing string test_str = "gekseforgeeks" # printing original string print("The original string is : " + str(test_str)) # initializing arg string arg_str = "geeks" # using min and count to get minimum possible # occurrence of character res = min(test_str.count(char) // arg_str.count(char) for char in set(arg_str)) # printing result print("Possible substrings count : " + str(res))
The original string is : gekseforgeeks Possible substrings count : 2
Método #2: Usando Counter() + comprensión de lista
Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos la tarea de contar usando Counter() y la comprensión de listas se usa para vincular el resultado, usando min() realizando una tarea similar al método anterior.
Python3
# Python3 code to demonstrate working of # Possible Substring count from String # Using Counter() + list comprehension from collections import Counter # initializing string test_str = "gekseforgeeks" # printing original string print("The original string is : " + str(test_str)) # initializing arg string arg_str = "geeks" # using Counter to get character frequencies temp1 = Counter(test_str) temp2 = Counter(arg_str) res = min(temp1[char] // temp2[char] for char in temp2.keys()) # printing result print("Possible substrings count : " + str(res))
The original string is : gekseforgeeks Possible substrings count : 2
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