上台阶问题

上台阶问题,一次上一层或两层,请问上n层的时候,有多少种方案。

f(n)=f(n-1)+f(n-2)

import java.util.*;

public class GoUpstairs {
    public int countWays(int n) {
          // write code here
	        int[] arr=new int[n+1];
	        for(int i=1;i<=n;i++){
	            if(i==1||i==2){
	                arr[i]=i;
	            }else{
	                arr[i]=arr[i-1]%1000000007+arr[i-2]%1000000007;
	            }
	        }
	        return arr[n]%1000000007;
    }
}
点赞