1 단계 또는 2 단계를 밟을 수있는 100 단계가 있습니다.
오늘의 전화 인터뷰. 알고리즘 문제가 발생하면 즉시 혼란 스러울 것입니다.
그런 다음, 나는 똑똑했고 사람이 매번 1 단계를 밟으면 최대 100 걸음과 매번 적어도 50 단계를 가질 것이라고 생각했습니다. 그런 다음 그는 분명히 주제를 벗어났습니다. . . 다행히도 상대방이 제 시간에 나를 방해했습니다. . . 그렇지 않으면, 나는 아마도 이것에 대한 나의 브레인 스토밍을 유지해야 할 것입니다. . . 검은 색으로 걸어가는 것. .
그런 다음 집에 도착했습니다. 내 맥을 들고 조용히 생각하면서 마침내 썼어
var 계단 = new Step (); 함수 step () {this.n1 = 1; this.n2 = 2; this.total = 100; this.getFunction = getFunction;} 함수 getFunction () {for (i = 2; i <this.total; i ++) {res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res; } return res;} var totalstairs = 계단 .getfunction (); 경고 (TotalStairs)1 제곱 만있을 때. 단지 1 단계. . . . 단 하나의 유형
2 개의 상자 만 있으면 1+1 || 2를 할 수 있습니다. . . 2 종류
3 개의 그리드가 있으면 1+1+1 || 2+1 || 1+2가 있습니다. . 3 종류
4 사각형이 1+1+1+1 || 2+2 || 2+1+1 || 1+1+2 || 1+2+1 인 경우. . . 5 종류
SN = S (N-1)+S (N-2)
Fibonacci 알고리즘 ... 그리고 그것을 사용할 수 있습니다
for (i = 2; i <this.total; i ++) {res = this.n1+this.n2; this.n1 = this.n2; this.n2 = res;}어쩌면 나는 알고리즘에 특히 능숙하지 않을 수도 있습니다 ~ 반대 의견이 있으시면 저를 바로 잡으십시오.
위의 것은 편집자가 알고리즘 수준의 전체 내용 인 편집자가 가져온 JS 인터뷰 질문입니다. 모두가 wulin.com을 더 지원하기를 바랍니다