Entrada:
Una lista de enteros (que nunca contendrá un cero)
Salida:
Una lista del mismo tamaño con recuentos basada en lo siguiente:
- Si el elemento actual es negativo: mire todos los elementos antes de este elemento y cuente cuántas veces ocurrieron los dígitos en esos otros números
- Si el elemento actual es positivo en su lugar: mire todos los elementos después de este elemento y cuente cuántas veces se produjo el dígito en esos otros números
Hay un giro: si el tamaño de la lista es par, solo contamos cada número una vez (incluso si coincide con varios dígitos), y si el tamaño es impar, contamos cada dígito de los números para cada dígito del elemento actual (duplicado los dígitos se cuentan varias veces).
Veamos algunos ejemplos para aclarar esto un poco:
Ejemplo con lista par:
Input:  [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2,  4,  1,   2,    1,    1,   5   ]
El tamaño de la lista es par , por lo que solo contamos cada número una vez.
- 4: Es positivo, así que esperamos. Hay tres números que contienen el dígito- 4(- 42,- -942,- 8374). Entonces comenzamos con a- 3.
- 10: Es positivo, así que esperamos. Hay dos números que contienen el dígito- 1y / o- 0(- -10,- -200). Entonces la segunda salida es- 2.
- 42: De nuevo positivo, muy adelante. Hay cuatro números que contienen o bien el dígito- 4y / o- 2(- -942,- 8374,- 728,- -200). Entonces la tercera salida es- 4.
- -10: Esta vez es negativo, así que miramos hacia atrás. Solo hay un número que contiene el dígito- 1y / o- 0(ignoramos el signo menos) (- 10). Entonces la cuarta salida es- 1.
- etc.
Ejemplo con lista impar:
Input:  [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13,  2,   2,  4,   8,   3,  0,   11,  6 ]
El tamaño de la lista es impar , por lo que contamos cada dígito.
- 382: Es positivo, así que esperamos. Hay uno- 3en los otros números (- 381), seis- 8en los otros números (- -82, -8, 381, 228, 28, -28) y seis- 2en los otros números (- -82, 228, 28, -28, 2). Entonces comenzamos con a- 13.
- -82: Es negativo, así que al revés. Hay uno- 3en el otro número (- 382) y uno- 8en el otro número (- 382). Entonces la segunda salida es- 2.
- ...
- 228: Es positivo, muy adelante. Hay tres- 2que está en los otros números (- 28,- -28,- -2), y otros tres- 2's, y dos- 8que está en los otros números (- 28,- -28). Entonces esta salida es- 8.
- etc.
Reglas de desafío:
- Puede suponer que la entrada nunca contendrá 0como elemento, ya que no es ni positiva ni negativa.
- Puede suponer que la lista de entrada siempre contendrá al menos dos elementos.
- I / O es flexible. La entrada / salida puede ser una matriz / lista de enteros, una cadena delimitada, una matriz de dígitos / caracteres, etc.
- Si el primer número en la lista es un número negativo, o el último número en la lista es un número positivo, será 0 en la lista resultante.
- Con listas impares, los números que contienen el mismo dígito varias veces se cuentan varias veces, como 228en el ejemplo impar anterior que da como resultado8(3 + 3 + 2) en lugar de5(3 + 2).
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana. 
 No permita que los lenguajes de code-golf lo desanimen a publicar respuestas con lenguajes que no sean codegolf. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación.
- Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
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 ]

δ¢, nunca visto el doble vector usado bien, bonito.Python 2 ,
149148121116111107 bytesPruébalo en línea!
fuente
Java (JDK 10) , 204 bytes
Pruébalo en línea!
Créditos
fuente
[1,11,-1]Debería volver[3,2,3]. Es una lista extraña, por lo que todos los dígitos cuentan. Primero1: mirar hacia adelante, tres1s en total:11,-1. Segundo11: mira hacia adelante para cada dígito: uno1+ uno1. Tercero-1: Mire hacia atrás, tres1s en total:-1,11. (Con las listas impares usted debe buscar en cada dígito, incluso el mismo Voy a aclarar esto en el desafío, pero el ejemplo extraña con el número.228Aclara esto un poco.),ty cambiandoi+(a[i]>0?1:-1)ai+(t=a[i]>0?1:-1), y luego simplemente utilizoj+=ten lugar dej+=a[i]>0?1:-1.Perl 6 ,
10085 bytesPruébalo en línea!
Utiliza el operador de multiplicación holgado ⊍.
fuente
Perl 5
-n, 92 bytesPruébalo en línea!
fuente
JavaScript (Node.js) ,
164,158,140139 bytesPruébalo en línea!
fuente
Ruby , 126 bytes
Pruébalo en línea!
fuente
Jalea ,
4342 bytesPruébalo en línea!
fuente