Dada una lista de enteros, cree una máscara booleana de modo que los índices verdaderos se puedan usar para filtrar los valores distintos de la lista. El índice seleccionado como verdadero no importa siempre que solo se seleccione uno de ellos para cada conjunto de índices correspondientes a valores idénticos.
La entrada será una lista no vacía de enteros no negativos en un formato adecuado para su idioma y la salida será una lista de valores booleanos siguiendo la especificación anterior. Puede usar sus propias definiciones de valores de verdad y falsedad en la lista de resultados.
En mis ejemplos a continuación, defino 1ser verdadero y 0falso.
[5, 4, 7, 1] Input
[1, 1, 1, 1] Output
Select only the values with with true indicies in the sieve
[5 4 7 1] Contains zero duplicate values
[5, 9, 7, 5, 6, 0, 5]
[0, 1, 1, 1, 1, 1, 0]
[ 9, 7, 5, 6, 0 ]
Casos de prueba
Cuando hay un or, significa que hay múltiples salidas válidas. Si hay puntos suspensivos finales ...después de or, significa que no se enumeraron todas las salidas posibles.
[0] = [1]
[55] = [1]
[32, 44] = [1, 1]
[0, 0] = [1, 0] or [0, 1]
[9001, 9001, 9001] = [1, 0 , 0] or [0, 1, 0] or [0, 0, 1]
[5, 4, 7, 1] = [1, 1, 1, 1]
[1, 2, 3, 4, 3, 5] = [1, 1, 1, 1, 0, 1] or
[1, 1, 0, 1, 1, 1]
[5, 9, 7, 5, 6, 0, 5] = [1, 1, 1, 0, 1, 1, 0] or
[0, 1, 1, 1, 1, 1, 0] or
[0, 1, 1, 0, 1, 1, 1]
[0, 8, 6, 6, 3, 8, 7, 2] = [1, 1, 1, 0, 1, 0, 1, 1] or
[1, 0, 0, 1, 1, 1, 1, 1] or
[1, 0, 1, 0, 1, 1, 1, 1] or
[1, 1, 0, 1, 1, 0, 1, 1]
[45, 47, 47, 45, 24, 24, 24, 8, 47, 41, 47, 88]
= [1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1] or ...
[154, 993, 420, 154, 154, 689, 172, 417, 790, 175, 790, 790, 154, 172, 175, 175, 420, 417, 154, 175, 172, 175, 172, 993, 689, 993, 993, 790]
= [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] or ...
Reglas
- Este es el código de golf, por lo que gana la solución más corta.
- ¡Las construcciones están permitidas!
- Puede usar sus propias definiciones de valores de verdad y falsedad en la lista de resultados. Si elige hacerlo, indique sus definiciones.
- La entrada será una lista no vacía de enteros no negativos.
- Usted es libre de elegir entre emitir solo uno de los tamices o múltiples o incluso todos. Mientras cada tamiz sea válido, será aceptado.
[0, 8, 6, 6, 3, 8, 7, 2]Debería[1, 0, 0, 1, 1, 1, 1, 1]agregarse a la lista de salidas válidas?