// 本质是斐波那契数列
public int JumpFloor(int target) {
// 如果台阶数小于2,则返回1
if (target < 2) {
return 1;
}
int f1 = 1;
int f2 = 1;
// 台阶数从2开始,一直到target(包括2和target)
for (int i = 2; i <= target; i++) {
// sum临时存放f1 + f2的和
int sum = f1 + f2;
f1 = f2;//f1指向下一个求和的前面一个数
f2 = sum;//f2指向下一个求和的后面一个数
}
// 返回值返回sum或者f2都一样
return f2;
}