给定一个整数列表,请创建一个布尔掩码,以便可以使用真实索引来过滤列表中的不同值。只要为对应于相同值的每组索引选择一个索引,选择哪个索引才是真正的索引就没有关系。
输入将是适合您的语言的格式的非负整数的非空列表,而输出将是遵循上述规范的布尔值列表。您可以在输出列表中使用自己的真实值和虚假值定义。
在下面的示例中,我定义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]
添加到有效输出列表中吗?