Dada una array de enteros, imprima todos los elementos distintos en la array. La array dada puede contener duplicados y la salida debe imprimir cada elemento solo una vez. La array dada no está ordenada.
Ejemplos:
Input: arr[] = {12, 10, 9, 45, 2, 10, 10, 45} Output: 12, 10, 9, 45, 2 Input: arr[] = {1, 2, 3, 4, 5} Output: 1, 2, 3, 4, 5 Input: arr[] = {1, 1, 1, 1, 1} Output: 1
Este problema tiene una solución existente, consulte Imprimir todos los elementos distintos de un enlace de array de enteros dado. Resolveremos este problema en python rápidamente usando Ordered Dictionary . El enfoque es simple,
- Convierta una array en una estructura de datos de diccionario usando la función OrderedDict.fromkeys (iterable) , convierte cualquier iterable en un diccionario que tenga elementos como Clave en el mismo orden en que aparecieron en la array.
- Ahora itere a través del diccionario completo y las claves de impresión.
# Python program to print All Distinct # Elements of a given integer array from collections import OrderedDict def printDistinct(input): # convert list into ordered dictionary ordDict = OrderedDict.fromkeys(input) # iterate through dictionary and get list of keys # list of keys will be resultant distinct elements # in array result = [ key for (key, value) in ordDict.items() ] # concatenate list of elements with ', ' and print print (', '.join(map(str, result))) # Driver program if __name__ == "__main__": input = [12, 10, 9, 45, 2, 10, 10, 45] printDistinct(input)
Producción:
12, 10, 9, 45, 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