題目描述
有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或者二級,要走上m級,共有多少走法?注:規定從一級到一級有0種走法。
給定一個正整數int n,請返回一個數,代表上樓的方式數。保證n小於等於100。爲了防止溢出,請返回結果Mod 1000000007的值。
3
返回:2
相當於菲波那切數列 0 1 2 3 5 8 .....
import java.util.*;
public class GoUpstairs { public int countWays(int n) { int[] steps = new int[n + 1]; steps[1] = 0; steps[2] = 1; steps[3] = 2; for(int i = 4 ; i < n + 1 ; i++){ steps[i] = (steps[i - 1] + steps[i - 2]) % 1000000007; //防止溢出 } return steps[n]; } }