时间限制:3秒 空间限制:32768K 热度指数:28619
题目描述
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。
给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。
测试样例:
3
返回:2
1 class GoUpstairs { 2 public: 3 int countWays(int n) { 4 // write code here 5 vector<int> stair; 6 stair.push_back( 0 ) ; 7 stair.push_back( 0 ) ; 8 stair.push_back( 1 ) ; 9 stair.push_back( 2 ) ; 10 11 for ( int i = 4; i <= n; ++ i ) { 12 stair.push_back( ( stair[i - 1] + stair[i - 2] ) % 1000000007 ) ; 13 } 14 15 return stair[stair.size() - 1] ; 16 } 17 };
时间: 2024-10-12 11:10:02