A média dos antípodas

Dado um array de inteiros, crie antipodes_average($values) e produza um array menor em três etapas:

  1. Divida o array em duas metades externas de mesmo tamanho. Se o comprimento for ímpar, descarte o elemento central para que as metades fiquem iguais.
  2. Inverta a segunda metade e some cada valor da primeira metade ao valor correspondente da segunda metade invertida.
  3. Divida por dois cada soma resultante.

Exemplos

antipodes_average([1, 2, 3, 4]) ➞ [2.5, 2.5]
// A parte esquerda [1, 2] forma pares com a parte direita invertida [4, 3]; as somas [5, 5] se tornam [2.5, 2.5].

antipodes_average([1, 2, 3, 4, 5]) ➞ [3.0, 3.0]
// Descarte o valor central 3. A parte esquerda [1, 2] forma pares com [5, 4]; as somas [6, 6] se tornam [3, 3].

antipodes_average([-1, -2]) ➞ [-1.5]
// (-1 + -2) / 2 = -1.5.

Observações

  • Cada entrada contém pelo menos dois números.
  • Os valores de entrada são números inteiros, positivos ou negativos, mas as médias retornadas podem ser valores de ponto flutuante.
  • As etapas podem ser implementadas separadamente ou combinadas sem alterar o resultado.