一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
示例 1:
输入:n = 2
输出:2
示例 2:
输入:n = 7
输出:21
示例 3:
输入:n = 0
输出:1
提示:
0 <= n <= 100
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:
int numWays(int n) {
vector<int> v_result(n + 1, 0);//0 - n 级台阶//零阶为1,说是题目的测试案例用的就是0阶时方法为1
v_result[0] = 1;
if (n >= 1) v_result[1] = 1;//注意这里,只有n>=1时,才可以赋值,否则数组会越界,不要忘记了
for (int i = 2; i <= n; i++)
{
v_result[i] = (v_result[i - 1] + v_result[i - 2]) % (1000000007);//因为题目要求取模,也就是取余
}
return v_result[n];
}
};