Python | Comprobar si las frecuencias de todos los caracteres de una string son diferentes

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")
Producción:

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")
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *