ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

面试题10-2:青蛙跳台阶问题

2021-11-25 18:31:16  阅读:17  来源: 互联网

标签:10 面试题 台阶 temp 示例 青蛙 跳上


剑指 Offer 10- II. 青蛙跳台阶问题​​​​​​

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

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

示例 1:

输入:n = 2
输出:2
示例 2:

输入:n = 7
输出:21
示例 3:

输入:n = 0
输出:1
提示:

0 <= n <= 100

这道题与之前的斐波那契数列相似,重点不是解法,而是如何总结出规律,转化成斐波那契数列

class Solution(object):
    def numWays(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n == 1 or n == 0:
            return 1
        MOD = 10 ** 9 + 7
        temp_1 = 1
        temp_2 = 2
        while(n>=3):
            temp = temp_1 + temp_2
            temp_1,temp_2 = temp_2,temp
            temp_2 = temp_2 % MOD
            n = n - 1
        return temp_2

标签:10,面试题,台阶,temp,示例,青蛙,跳上
来源: https://blog.csdn.net/marwenx/article/details/121543445

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有