#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]