Recursão: string de Fibonacci

Uma string de Fibonacci é uma sucessão da série de Fibonacci. Ela funciona com quaisquer dois caracteres do alfabeto inglês (em vez dos números 0 e 1 da série de Fibonacci) como itens iniciais e os concatena à medida que avança, de forma semelhante à série de Fibonacci.

Exemplos

generate(3, ["j", "h"]) ➞ "j, h, hj"

generate(5, ["e", "a"]) ➞ "e, a, ae, aea, aeaae"

generate(6, ["n", "k"]) ➞ "n, k, kn, knk, knkkn, knkknknk"

generate(1, ["f", "g"]) ➞ "invalid"
// return "invalid" if n is less than 2

Observações

  • Espera-se que você resolva este desafio por meio de recursão.
  • Você pode consultar a aba Recursos para obter mais detalhes sobre recursão em Java.
  • Uma versão iterativa deste desafio pode ser encontrada neste link.
  • Uma coleção de desafios sobre recursão pode ser encontrada neste link.