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; } }