Existem 100 etapas, que podem ser tomadas 1 passo ou 2 etapas, então quantas maneiras são uma caminhada?
Entrevista por telefone de hoje. Quando você encontra um problema de algoritmo, você ficará confuso em um instante;
Então, eu era inteligente e pensei que, se uma pessoa der 1 passo sempre, ela teria no máximo 100 etapas e pelo menos 50 etapas de cada vez; Então ele obviamente saiu do tópico. . . Felizmente, a outra parte me interrompeu a tempo. . . Caso contrário, eu provavelmente teria que manter meu brainstorm nessa coisa. . . Caminhando até o preto. .
Então cheguei em casa. Segurando meu Mac e pensando em silêncio, finalmente escrevi
var stairs = new step (); função etapa () {this.n1 = 1; this.n2 = 2; this.Total = 100; this.getFunction = getFunction;} função getFunction () {for (i = 2; i <this.total; i ++) {res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res; } return res;} var totalstairs = stairs.getfunction (); alert (totalstairs)Quando há apenas 1 quadrado. Apenas 1 passo. . . . Apenas um tipo
Quando existem apenas 2 caixas, você pode 1+1 || 2. . . 2 tipos
Quando há 3 grades, 1+1+1 || 2+1 || 1+2. . 3 tipos
Quando 4 quadrados são 1+1+1+1 || 2+2 || 2+1+1 || 1+1+2 || 1+2+1. . . 5 tipos
sn = s (n-1)+s (n-2)
Algoritmo fibonacci ... e então pode ser usado
for (i = 2; i <this.total; i ++) {res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res;}Talvez eu não seja particularmente bom em algoritmos ~ Se você tiver alguma objeção, por favor me corrija.
O exposto acima são as perguntas da entrevista do JS trazidas a você pelo editor-todo o conteúdo do nível de algoritmo. Espero que todos apoiem mais wulin.com ~