当前位置: 首页> 教育> 就业 > LCR 127. 跳跃训练

LCR 127. 跳跃训练

时间:2025/7/12 6:04:05来源:https://blog.csdn.net/2302_78492008/article/details/141002320 浏览次数:0次

题目:
今天的有氧运动训练内容是在一个长条形的平台上跳跃。平台有 num 个小格子,每次可以选择跳 一个格子 或者 两个格子。请返回在训练过程中,学员们共有多少种不同的跳跃方式。
结果可能过大,因此结果需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
示例 1:输入:n = 2输出:2
示例 2:输入:n = 5输出:8

解题思路:
动态规划问题,利用逆向思维,我们可以这么想,用 f(x) 表示爬到第 x 级台阶的方案数,最后一步可能跨了一级台阶,也可能跨了两级台阶,所以可以列出下式:f(x)=f(x−1)+f(x−2)。这就是简单的斐波那契数列,最后再将边界值进行判断就OK喽

代码如下:

class Solution:def trainWays(self, num: int) -> int:if num ==0:return 1elif num<=2:return numelse:a=1b=2for i in range(num-2):temp = b# 这里必须加int,不然输出就是浮点数,可能和网站的解释器有关,这里注意一下就可以了b =int((a+b)%(1e9+7))a=tempreturn b

关键字:LCR 127. 跳跃训练

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: