面试题10- II. 青蛙跳台阶如此简单 剑指offer
2020-04-22 14:37
351 查看
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
示例 1:
输入:n = 2
输出:2
示例 2:
输入:n = 7
输出:21
提示:
0 <= n <= 100
解题:看清题背后的规律
当n>2时
f(n)=f(n-1)+f(n-2)
为斐波那契数列
采用动态规划算法:
时间复杂度O(N)
空间复杂度O(1)
class Solution:
def numWays(self, n: int) -> int:
if n == 0:
return 1
elif n ==1:
return 1
elif n ==2:
return 2
else:
a,b=1,2
for i in range(1,n):
a,b=b,a+b
return a%1000000007
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【剑指offer】面试题10(3)-变态跳台阶
- 【剑指offer】面试题10(2)-跳台阶
- 剑指offer 面试题9 斐波那契数列/青蛙跳台阶/矩形覆盖/变态跳台阶
- Leecode 面试题10- II. 青蛙跳台阶问题(斐波拉契数列)
- 剑指offer-chapter2-面试题9-青蛙跳台阶(java)
- 剑指offer面试题9 斐波那契数列及青蛙跳台阶问题
- 剑指offer面试题9-青蛙跳台阶及其变种问题
- 【面试题】剑指Offer-9-斐波那契数列&&青蛙跳台阶
- 剑指-面试题10-1 斐波拉契数列 10-2青蛙跳台阶
- 剑指offer 面试题10:二进制中1的个数 题解
- 剑指Offer-青蛙跳台阶-Python
- 【Golang】LeetCode-剑指Offer-面试题55 - II -平衡二叉树
- 剑指offer-面试题10-二进制中1的个数
- 剑指offer 面试题10
- 【剑指offer】面试题:变态跳台阶
- 【剑指offer】面试题10: 二进制中1的个数
- 剑指offer--面试题10-整数的二进制中有多少个1
- 剑指offer——面试题10:二进制中1的个数
- 剑指Offer----面试题10:二进制中1的个数
- 剑指Offer面试题10(Java版):二进制中的1的个数