最后更新于3天前
今天的有氧运动训练内容是在一个长条形的平台上跳跃。平台有 num 个小格子,每次可以选择跳 一个格子 或者 两个格子。请返回在训练过程中,学员们共有多少种不同的跳跃方式。结果可能过大,因此结果需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
今天的有氧运动训练内容是在一个长条形的平台上跳跃。平台有 num 个小格子,每次可以选择跳 一个格子 或者 两个格子。请返回在训练过程中,学员们共有多少种不同的跳跃方式。
num
结果可能过大,因此结果需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
就是青蛙跳台阶多了个取模
func trainWays(num int) int { MOD := 1000000007 f := make([]int, 3) f[0] = 1 f[1] = 1 for i := 2; i <= num; i ++ { f[i % 3] = (f[(i - 1) % 3] + f[(i - 2) % 3]) % MOD } return f[num % 3] }