Recursão: Isolado ou agrupado?
Escreva uma função que extraia o valor máximo de um array de números. Se houver dois ou mais valores máximos, retorne-os como um array; caso contrário, retorne o número. Esse processo poderia ser relativamente fácil com algumas das funções integradas de Array, mas a abordagem exigida é recursiva.
Exemplos
isoGroup([31, 7, 2, 13, 7, 9, 10, 13]) ➞ 31
isoGroup([1, 3, 9, 5, 1, 7, 9, -9]) ➞ [9, 9]
isoGroup([97, 19, -18, 97, 36, 23, -97]) ➞ [97, 97]
isoGroup([-31, -7, -13, -7, -9, -13]) ➞ [-7, -7]
isoGroup([-1, -3, -9, -5, -1, -7, -9, -9]) ➞ [-1, -1]
isoGroup([107, 19, -18, 79, 36, 23, 97]) ➞ 107Observações
- Você pode ler mais sobre recursão (consulte a aba Resources) se ainda não estiver familiarizado com ela ou não tiver entendido completamente o conceito antes de começar este desafio.
- Se você acha que recursão é divertida, pode encontrar uma coleção desses desafios aqui.