第30888题 单选题
以下关于C++实现爬楼梯动态规划解法的描述中,错误的是?

已知爬楼梯问题规则:每次可以向上走1阶或者2阶台阶,求爬到第n阶台阶的总方案数。使用动态规划思想实现该问题的C++代码时,下列描述错误的是?

A

可以定义dp[i]表示爬到第i阶台阶的总方案数,状态转移方程为dp[i] = dp[i-1] + dp[i-2]

B

初始状态可以设置为dp[1] = 1,dp[2] = 2,当n>=3时按状态转移方程递推即可得到正确结果

C

为优化空间复杂度,可以不用维护完整的dp数组,仅用两个变量分别保存dp[i-1]和dp[i-2]的值即可,空间复杂度可从O(n)降低到O(1)

D

动态规划实现该问题的时间复杂度为O(2^n),和递归暴力解法的时间复杂度一致

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析