public class Solution {
public int jumpFloor(int n) {
// 预处理
if (n == 1) return 1;
if (n == 2) return 2;
// 初始化起始条件
int before2Step = 1; // 跳上第一级台阶的方法数
int before1Step = 2; // 跳上第二级台阶的方法数
// 动态规划
int cur = -1;
for (int i = 3; i <= n; i++) {
// 计算到达当前台阶的方法数
cur = before2Step + before1Step;
// 更新数据
before2Step = before1Step;
before1Step = cur;
}
// 返回结果
return cur;
}
}



京公网安备 11010502036488号