import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param number int整型 * @return int整型 */ public int jumpFloor (int number) { // write code here //dp[i]表示跳上一i级的台阶有多少种跳法 if(number==1) return 1;//这句很重要,number=1,dp[2]=2会有数组越界异常,不能使用 return dp[number]返回 int []dp=new int[number+1]; dp[0]=0;dp[1]=1;dp[2]=2; for(int i=3;i<=number;i++){ //dp[i]=dp[i-1]+dp[i-2]+1 +1是到dp[i-2]级台阶,一级一级跳(错误)因为dp[i]=dp[i-1]+dp[i-2]就是差一个台阶的跳法+差两个台阶的跳法 //+dp[i-2],到dp[i-2]级台阶跳上两级 dp[i]=dp[i-1]+dp[i-2]; } return dp[number]; } }