Todos sabemos que muitos exercícios afetam apenas metade do seu corpo, então você deve executá-los duas vezes, uma de cada lado. Tais exercícios têm duas contrapartes, uma para o lado esquerdo e outra para a direita. No entanto, não há necessidade de executar as duas contrapartes consecutivamente, desde que os exercícios para os dois lados estejam na mesma ordem. Você também pode alternar entre os lados do seu programa de exercícios, mas não faria sentido começar alguns exercícios com um lado e outros com o outro.
Desafio
Uma parte do exercício é uma lista de números inteiros diferentes de zero, em que sua segunda metade consiste nos números inteiros da primeira metade negados e na mesma ordem, e os sinais dos números inteiros em cada metade são iguais. O sinal da primeira metade de uma parte do exercício é o seu lado principal .
Um conjunto de exercícios é zero ou mais partes do exercício com o mesmo lado principal concatenado juntos.
Dada uma lista de números inteiros diferentes de zero como entrada, determine se é um conjunto de exercícios. Os números inteiros não são necessariamente únicos. O comprimento da lista não é necessariamente uniforme.
Sua solução não pode usar nenhuma das brechas padrão . Você pode usar dois valores consistentes diferentes para a saída. Isso é código-golfe , então a solução mais curta vence.
Exemplos
[-5, -1, -7, -6, -5, 5, 1, 7, 6, 5]
é um exemplo de uma parte do exercício. A primeira metade é [-5, -1, -7, -6, -5]
, e a última metade é [5, 1, 7, 6, 5]
, que é cada número inteiro na primeira metade negado. Além disso, os números inteiros da primeira metade são todos do mesmo sinal. O lado principal desta parte do exercício é -1
.
[3, 6, 5, -3, -6, -5, 1, 6, 4, 3, -1, -6, -4, -3]
é um exemplo de um conjunto de exercícios. Suas partes individuais do exercício são [3, 6, 5, -3, -6, -5]
e [1, 6, 4, 3, -1, -6, -4, -3]
, e ambos têm o lado principal 1
.
[4, -4, -5, 5]
, apesar de consistir apenas em partes válidas do exercício, não é um conjunto de exercícios, uma vez que a primeira parte [4, -4]
tem lado principal 1
, enquanto a segunda parte [-5, 5]
tem lado principal -1
.
Casos de teste
Casos de teste válidos:
[]
[1, -1]
[1, -1, 1, -1]
[-6, 6, -5, -4, -3, 5, 4, 3]
[-1, -5, -8, 1, 5, 8, -7, -6, -5, -3, 7, 6, 5, 3]
[-1, -5, -8, 1, 5, 8, -1, 1]
Casos de teste inválidos:
[1]
[1, -2]
[1, 2, -3, -1, -2, 3]
[1, 2, 3, -3, -1, -2]
[-1, -5, -8, 1, 5, 8, 7, 6, 5, 3, -7, -6, -5, -3]
[1, 2, 3, 5, 1, 2, 3, 5]
[1, 2, -5, 4, -6, 5, 5, -6]
[1, 2, -1, 3, -2, -3]
[1, -2, 1]
[-1, -1, 1]
[1, -1, 1]