14062. [GESP202609 六级 C++] 第 13 题

[GESP202609 六级 C++] 第 13 题

下面代码计算走到第 n 级台阶的方法数,每次可以走 1 级或 2 级。横线处应填写(  )。

int ways(int n) {
    if (n <= 2)
        return n;
    vector<int> dp(n + 1);
    dp[1] = 1;
    dp[2] = 2;
    for (int i = 3; i <= n; ++i)
        dp[i] = __________________________;
    return dp[n];
}

{{ select(1) }}

  • dp[i - 1] + 1

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

  • dp[i - 2] + 2

  • 2 * dp[i - 1]