Dada una string S que consta solo de letras minúsculas, la tarea es verificar si la frecuencia de todos los caracteres de la string es única. Ejemplos:
Input : abaccc Output : Yes ‘a’ occurs two times, ‘b’ occurs once and ‘c’ occurs three times. Input : aabbc Output : No Frequency of both 'a' and 'b' are same.
Enfoque: una cosa a observar en este problema es que la posición de los caracteres no importa aquí, así que simplemente cuente la frecuencia de los caracteres. Revise la string y cuente la aparición de todos los caracteres. Luego ordene la array de frecuencia y verifique si los elementos consecutivos son iguales e inmediatamente imprima «No», de lo contrario imprima «Sí».
Python3
# Python program to check if frequency of # all characters of a string are unique # creating a frequency array freq =[0]*26 # Finding length of s n = len(s) for i in range(n): # counting frequency of all characters freq[ord(s[i])-97] += 1 # sorting the frequency array freq.sort() for i in range(25): # checking if element is zero if (freq[i] == 0): continue # if element is non-zero # checking if frequencies are unique if (freq[i] == freq[i + 1]): return False return True # Driver code s ="abaccc" if(check(s)): print("Yes") else: print("No")
Yes
Enfoque: usando los métodos count() y len(). Primero encuentre el recuento de cada elemento, agregue el recuento a una lista. Si el conteo del primer elemento de la lista es igual a la longitud de la lista, entonces las frecuencias son únicas.
Python3
# Python program to check if frequency of # all characters of a string are unique s ="aabbc" v=[] for i in s: if i not in v: v.append(s.count(i)) x=[] for i in v: if i not in x: x.append(i) if(len(x)==len(v)): print("Yes") else: print("No")
No
Publicación traducida automáticamente
Artículo escrito por Pravash Jha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA