Recursão: Intervalos inclusivos de arrays

Published by Deep Xavier in

Escreva uma função que, dados os valores inicial startNum e final endNum, retorne um array contendo todos os números incluídos nesse intervalo. Veja os exemplos abaixo.

Exemplos

inclusiveArray(1, 5) ➞ [1, 2, 3, 4, 5]

inclusiveArray(2, 8) ➞ [2, 3, 4, 5, 6, 7, 8]

inclusiveArray(10, 20) ➞ [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

inclusiveArray(17, 5) ➞ [17]

IMPORTANTE

  • O uso de IntStream.range e IntStream.rangeClosed é totalmente inaceitável; portanto, a recursão é o próprio propósito deste desafio.

Notas

  • Os números do array estão ordenados em ordem crescente.
  • Se startNum for maior que endNum, retorne um array com o maior valor. Veja o exemplo #4.
  • Espera-se que você resolva este desafio por meio de uma abordagem recursiva.
  • Uma versão iterativa deste desafio pode ser encontrada neste link
  • Uma coleção de desafios sobre recursão pode ser encontrada neste link.