Python | Número mínimo de subconjuntos con elementos distintos usando Counter

Se le da una array de n elementos. Debe crear subconjuntos a partir de la array de modo que ningún subconjunto contenga elementos duplicados. Averigüe el número mínimo de subconjuntos posibles.

Ejemplos:

Input : arr[] = {1, 2, 3, 4}
Output :1
Explanation : A single subset can contains all 
values and all values are distinct

Input : arr[] = {1, 2, 3, 3}
Output : 2
Explanation : We need to create two subsets
{1, 2, 3} and {3} [or {1, 3} and {2, 3}] such
that both subsets have distinct elements.

Tenemos una solución existente para este problema, consulte el enlace Número mínimo de subconjuntos con elementos distintos . Resolveremos este problema rápidamente en python usando el método Counter (iterable) . El enfoque es muy simple, calcule la frecuencia de cada elemento en la array e imprima el valor de la frecuencia máxima porque queremos que cada subconjunto sea diferente y tenemos que poner cualquier elemento repetido en un subconjunto diferente, por lo que para obtener el número mínimo de subconjuntos deberíamos tener al menos frecuencia máxima número de subconjuntos .

# Python program to find Minimum number of 
# subsets with distinct elements using Counter
  
# function to find Minimum number of subsets 
# with distinct elements
from collections import Counter
  
def minSubsets(input):
  
     # calculate frequency of each element
     freqDict = Counter(input)
  
     # get list of all frequency values
     # print maximum from it 
     print (max(freqDict.values()))
  
# Driver program
if __name__ == "__main__":
    input = [1, 2, 3, 3]
    minSubsets(input)

Producción:

2

Publicación traducida automáticamente

Artículo escrito por Shashank Mishra 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 *