Biorąc pod uwagę listę liczb całkowitych, utwórz maskę logiczną, tak aby można było użyć prawdziwych indeksów do odfiltrowania różnych wartości z listy. Który indeks jest wybrany jako prawdziwy, nie ma znaczenia, dopóki tylko jeden z nich zostanie wybrany dla każdego zestawu wskaźników odpowiadających identycznym wartościom.
Dane wejściowe będą niepustą listą liczb całkowitych nieujemnych w formacie odpowiednim dla Twojego języka, a dane wyjściowe będą listą wartości logicznych zgodnych z powyższą specyfikacją. Dozwolone jest używanie własnych definicji wartości prawdy i fałszu na liście wyników.
W poniższych przykładach określam, że jestem 1prawdomówny i 0jestem fałszywy.
[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 ]
Przypadki testowe
Gdy występuje or, oznacza to, że istnieje wiele prawidłowych wyników. Jeśli ...po elipsie występuje końcowa elipsa or, oznacza to, że nie wszystkie możliwe wyniki zostały wymienione.
[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 ...
Zasady
- To jest golf golfowy, więc wygrywa najkrótsze rozwiązanie.
- Wbudowane są dozwolone!
- Dozwolone jest używanie własnych definicji wartości prawdy i fałszu na liście wyników. Jeśli zdecydujesz się to zrobić, podaj swoje definicje.
- Dane wejściowe będą niepustą listą nieujemnych liczb całkowitych.
- Możesz swobodnie wybierać między wyjściem tylko z jednego sita lub z wielu, a nawet z nich wszystkich. Dopóki każde sito jest ważne, będzie akceptowane.
[0, 8, 6, 6, 3, 8, 7, 2]czy[1, 0, 0, 1, 1, 1, 1, 1]należy dodać do listy prawidłowych wyników?