剑指Offer LeetCode 面试题10- II. 青蛙跳台阶问题

简介: 剑指Offer LeetCode 面试题10- II. 青蛙跳台阶问题

面试题10- II. 青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1:

输入:n = 2

输出:2

示例 2:

输入:n = 7

输出:21

提示:

0 <= n <= 100

解题1

和斐波那契数列一个道理,只是当跳F(0)台阶是等于1,跳F(1)台阶时还等于1.

public int numWays(int n) {
        int a = 1,b = 1,sum=0;
        for (int i = 0; i < n ; i++) {
            sum = (a+b) % 1000000007;
            a = b;
            b = sum;
        }
        return a;
}

解题2

public int numWays(int n) {
        if(n==0 || n==1)
            return n;
        int nArr[] = new int[n];
        nArr[0]=1;
        nArr[1]=1;
        for (int i = 2; i < n ; i++) {
            nArr[i] = (nArr[i - 1] + nArr[i - 2]) % 1000000007;
        }
        return (nArr[n - 1] + nArr[n - 2]) % 1000000007;
    }
目录
打赏
0
0
0
0
4
分享
相关文章
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
深入解析力扣176题:第二高的薪水(子查询与LIMIT详解及模拟面试问答)
深入解析力扣176题:第二高的薪水(子查询与LIMIT详解及模拟面试问答)
深入解析力扣172题:阶乘后的零(计算因子5的方法详解及模拟面试问答)
深入解析力扣172题:阶乘后的零(计算因子5的方法详解及模拟面试问答)
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
深入解析力扣167题:两数之和 II(双指针法详解及模拟面试问答)
深入解析力扣167题:两数之和 II(双指针法详解及模拟面试问答)
|
8月前
|
155. 最小栈 力扣 python 空间换时间 o(1) 腾讯面试题
155. 最小栈 力扣 python 空间换时间 o(1) 腾讯面试题
1124. 表现良好的最长时间段 (python) 前缀和 分类讨论 最大长度 力扣 面试题
1124. 表现良好的最长时间段 (python) 前缀和 分类讨论 最大长度 力扣 面试题
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)

热门文章

最新文章