Dada una array binaria, imprima todas las filas únicas de la array dada. El orden de impresión de las filas no importa.
Ejemplos:
Input: mat = [[0, 1, 0, 0, 1], [1, 0, 1, 1, 0], [0, 1, 0, 0, 1], [1, 1, 1, 0, 0]] Output: (1, 1, 1, 0, 0) (0, 1, 0, 0, 1) (1, 0, 1, 1, 0)
Tenemos una solución existente para este problema, consulte el enlace. Podemos resolver este problema en python rápidamente usando Establecer estructura de datos . El enfoque es muy simple.
- Se nos proporciona una lista de valores booleanos, colocamos todas las filas (lista) en el conjunto porque el conjunto contiene valores únicos.
- Dado que la lista es un tipo que no se puede modificar para el conjunto porque es mutable, es por eso que primero convertimos cada fila (lista) en tupla y luego colocamos todas las tuplas en el conjunto.
- El conjunto resultante contendrá solo tuplas de valor único (fila).
# Python program to Print unique rows in a # given boolean matrix using Set with tuples # Function to print unique rows in a given boolean matrix def uniqueRows(input): # convert each row (list) into tuple # we are mapping tuple function on each row of # input matrix input = map(tuple, input) # put all rows in set result = set(input) # print all unique rows for row in list(result): print (row) # Driver program if __name__ == "__main__": input = [[0, 1, 0, 0, 1], [1, 0, 1, 1, 0], [0, 1, 0, 0, 1], [1, 1, 1, 0, 0]] uniqueRows(input)
Producción:
(1, 1, 1, 0, 0) (0, 1, 0, 0, 1) (1, 0, 1, 1, 0)
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA