Давши список цілих чисел, створіть булеву маску таким чином, щоб справжні індекси можна було використовувати для фільтрації різних значень зі списку. Індекс, обраний як істинний, не має значення, доки для кожного набору індексів, що відповідають однаковим значенням, вибрано лише один.
Вхід буде не порожнім списком невід’ємних цілих чисел у форматі, що підходить для вашої мови, а вихід буде списком булевих значень відповідно до вищезазначеної специфікації. Ви можете використовувати власні визначення правдоподібних і хибних значень у списку вихідних даних.
У наведених нижче прикладах я визначаю, що 1вони є неправдивими та хибними 0.
[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 ]
Випробування
Коли є or, це означає, що є кілька дійсних результатів. Якщо є заднє крапки ...після того or, це означає , що не всі з можливих виходів були перераховані.
[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 ...
Правила
- Це код-гольф, тому найкоротше рішення виграє.
- Вбудовані дозволені!
- Ви можете використовувати власні визначення правдоподібних і хибних значень у списку вихідних даних. Якщо ви вирішите це зробити, будь ласка, вкажіть свої визначення.
- Вхід буде не порожнім списком невід’ємних цілих чисел.
- Ви можете вибирати між виведенням лише одного сита або декількох або навіть усіх. Поки кожне сито діє, воно буде прийняте.
[0, 8, 6, 6, 3, 8, 7, 2]чи[1, 0, 0, 1, 1, 1, 1, 1]слід додати до списку дійсних результатів?