Recursão básica para entrevistas

Da próxima vez que alguém perguntar o que é recursão, tente este exemplo que acabei de obter de uma cobaia. Este exemplo está em Javascript, então não há muita sobrecarga ou ruído. Observe que .shift pode ou não existir no idioma de sua escolha, então não estrague tudo!

var a = ['cocoa', 'mocha', 'java'];

function findJava(myA){

if(myA[0] === 'java'){
alert
(myA+'?.. I love java!');
}else{
alert
(myA[0]);
myA
.shift();
findJava
(myA);
}
}

findJava
(a);

Isso deve ajudá-lo a demonstrar que sabe o que é recursão e como implementá-la com eficácia. Simplesmente criamos um array ‘a’ e uma função ‘findJava’ e passamos ‘a’ para ‘findJava (a)’ em tempo de execução. Nossa função usa uma condicional básica para testar o primeiro elemento do array. Se o teste falhar, ele desliga o primeiro elemento da matriz e passa recursivamente o restante da matriz para si mesmo. Nota: Nem mesmo a Aperture Science usaria isso em um ambiente de produção, mas deve bastar como uma resposta de entrevista. O Centro de Enriquecimento mais uma vez lembra que o Android Hell é um lugar real para onde você será enviado ao primeiro sinal de desafio.

Violino