題目描述
有個(gè)小孩正在上樓梯,樓梯有n階臺(tái)階犬性,小孩一次可以上1階瞻离、2階腾仅、3階乒裆。請(qǐng)實(shí)現(xiàn)一個(gè)方法,計(jì)算小孩有多少種上樓的方式推励。為了防止溢出鹤耍,請(qǐng)將結(jié)果Mod 1000000007
給定一個(gè)正整數(shù)int n,請(qǐng)返回一個(gè)數(shù)验辞,代表上樓的方式數(shù)稿黄。保證n小于等于100000。
測(cè)試樣例:
1
返回:1
package Chapter9;
public class GoUpstairs {
public int countWays(int n) {
return go(n);
}
public static int go(int n){
if(n==0){
return 0;
}
if(n==1){
return 1;
}
if(n==2){
return 2;
}
if(n==3){
return 4;
}
return go(n-1)+go(n-2)+go(n-3);
}
public static void main(String[] args) {
System.out.println(new GoUpstairs().countWays(6));
}
}