第26285题 单选
补全青蛙跳台阶的动态规划代码

一只青蛙要跳上 n 级台阶。它每次可以跳1阶、2阶或3阶。下列代码可以计算青蛙有多少种不同的跳跃方式可以到达第 n 阶,其中横线处填写的代码是?

def jump_ways(n):
    if n <= 3:
        return [0, 1, 2, 4][n]
    dp = [0] * (n + 1)
    dp[1], dp[2], dp[3] = 1, 2, 4
    for i in range(4, n + 1):
        dp[i] = _______________
    return dp[n]
A

dp[i - 1] * 2

B

dp[i - 3] * 3

C

dp[i - 1] + dp[i - 2]

D

dp[i - 1] + dp[i - 2] + dp[i - 3]