ファーウェイ機試---階段を上る
タイトルの説明
階段はm級で、最初は1級で、毎回1級か2級しか越えられない場合は、m級に上がるには、どれだけの歩き方がありますか?注:1級から1級まで0種類の歩き方が規定されています.
正の整数intを与える n、上の階に上がる方法の数を表す数を返してください.nが100以下であることを保証する.オーバーフロー防止のため、結果Mod 1000000007の値を返してください.
テストサンプル:
タイトルの説明
階段はm級で、最初は1級で、毎回1級か2級しか越えられない場合は、m級に上がるには、どれだけの歩き方がありますか?注:1級から1級まで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];
}
}