输入:
整数列表(永远不会包含零)
输出:
相同大小的列表,其计数基于以下内容:
- 如果当前项目为负:查看该项目之前的所有项目,并计算该数字在这些其他数字中出现了多少次
- 如果当前项目为正:则查看此项目之后的所有项目,并计算该数字在其他数字中出现了多少次
有一种说法:如果列表的大小为偶数,则我们仅对每个数字计数一次(即使它与多个数字匹配),如果列表的大小为奇数,则为当前项的每个数字计算数字的每个数字(重复数字被多次计数)。
让我们举一些例子来澄清这一点:
带有偶数列表的示例:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
列表的大小为偶数,因此我们只对每个数字计数一次。
4
:这是积极的,所以我们很期待。有包含数位三数4
(42
,-942
,8374
)。因此,我们从开始3
。10
:这是积极的,所以我们很期待。有两个数字,分别包含数字1
和/或0
(-10
,-200
)。因此,第二个输出是2
。42
:再次肯定,如此向前。有含有任一数字四个数字4
和/或2
(-942
,8374
,728
,-200
)。因此,第三个输出是4
。-10
:这一次是负面的,所以我们往后看。只有一个数字包含数字1
和/或0
(我们忽略减号)(10
)。因此,第四输出是1
。- 等等
带有奇数列表的示例:
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
列表的大小为奇数,因此我们计算每个数字。
382
:这是积极的,所以我们很期待。有一个3
在其他数字(381
),六8
的在其他的数字(-82, -8, 381, 228, 28, -28
),和六2
的在其他的数字(-82, 228, 28, -28, 2
)。因此,我们从开始13
。-82
:这是负面的,所以倒退。有一个3
在另一个号码(382
)和一个8
在其它数目(382
)。因此,第二个输出是2
。- ...
228
:这是积极的,所以向前。有三个2
的在其他的数字(28
,-28
,-2
),和另外三个2
的,两个8
的在其他的数字(28
,-28
)。因此,此输出为8
。- 等等
挑战规则:
- 您可以假定输入将永远不包含
0
为项目,因为它既不是正数也不是负数。 - 您可以假设输入列表将始终包含至少两个项目。
- I / O是灵活的。输入/输出可以是整数的数组/列表,定界字符串,数字/字符矩阵等。
- 如果列表中的第一个数字是负数,或者列表中的最后一个数字是正数,那么在结果列表中它将是0。
- 对于奇数列表,将多次计算包含相同数字的数字,就像
228
上面的奇数示例中的结果是8
(3 + 3 + 2)而不是5
(3 + 2)一样。
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
测试用例:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19]
Output: [9, 1, 7, 3, 5, 5, 3, 7, 1, 9 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20]
Output: [11, 2, 8, 4, 5, 6, 3, 8, 1, 10, 0 ]
Input: [88, 492, -938, 2747, 828, 84710, -29, -90, -37791]
Output: [8, 9, 3, 9, 3, 4, 5, 4, 12 ]
Input: [-1, 11, 11, 1]
Output: [0, 2, 1, 0]
Input: [1, 11, 11, -1]
Output: [3, 2, 1, 3 ]
Input: [-1, 11, 1]
Output: [0, 2, 0]
Input: [1, 11, -1]
Output: [3, 2, 3 ]
δ¢
,从未见过使用double-vector很好用,不错的一种。