Encontre o número único em um array

Retorne o inteiro cuja quantidade de ocorrências difere da dos outros valores. Todos os outros valores têm a mesma quantidade de ocorrências. Se todos os valores fornecidos ocorrerem com a mesma frequência, retorne qualquer valor do array.

Exemplos

findSingleNumber([2, 2, 2, 3, 4, 4, 4]) ➞ 3

findSingleNumber([2]) ➞ 2

findSingleNumber([]) ➞ -1

findSingleNumber([7, 13, 3, 6, 5, 4, 4, 13, 5, 3, 6, 7, 6, 5, 3, 13, 4, 7, 13, 5, 7, 4, 3, 6, 8, 4, 3, 7, 5, 6, 13]) ➞ 8

findSingleNumber([1, 2, 3, 6, 5, 4, 4, 2, 5, 3, 6, 1, 6, 5, 3, 2, 4, 1, 2, 5, 1, 4, 3, 6, 101, 4, 3, 1, 5, 6, 2]) ➞ 101

Observações

  • Não se esqueça de return o resultado.
  • Observe que este desafio inclui duas validações:
    1. A entrada vazia deve retornar -1 (exemplo n.º 3).
    2. Arrays com um único item devem retornar esse item (exemplo n.º 2).
  • Sempre há 1 ou 0 números únicos na entrada. Não há dois nem três ou mais valores únicos.
  • Se você estiver travado ou sua solução estiver complicada demais, confira a aba Resources.