O valor de maior magnitude

Crie uma função que receba um array de inteiros e retorne o maior destes três valores: a soma dos números positivos, a soma dos números negativos ou a quantidade de valores 0. Considera-se maior o valor que tiver o maior valor absoluto.

Para arr = {1,2,3,4,0,0,-3,-2}, a função deve retornar 10, porque:

  • Soma positiva = 1+2+3+4 = 10
  • Soma negativa = (-3)+(-2) = -5
  • Quantidade de valores 0 = 2 (há dois zeros no array)

Exemplos

MajorSum(new int[] { 1, 2, 3, 4, 0, 0, -3, -2 }) ➞ 10

MajorSum(new int[] { -4, -8, -12, -3, 4, 7, 1, 3, 0, 0, 0, 0 }) ➞ -27

MajorSum(new int[] { 0, 0, 0, 0, 0, 1, 2, -3 }) ➞ 5
// Porque -3 < 1+2 < a quantidade de valores 0 = 5

Notas

  • Todos os números são inteiros.
  • Os arrays nunca estão vazios.
  • Todos os testes têm um único valor de maior magnitude.