華爲機試---上臺階



題目描述

有一樓梯共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];
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章