ファーウェイ機試---階段を上る



タイトルの説明
階段は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];
    }
}