K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
爬楼梯问题定义:给定正整数n代表楼梯总阶数,每次仅可向上走1阶或2阶,要求返回爬到第n阶的不同方法总数。
该问题的动态规划状态转移方程可定义为dp[i] = dp[i-1] + dp[i-2],边界条件为dp[1] = 1,dp[2] = 2
使用普通递归实现该问题的时间复杂度为O(n),效率高于动态规划实现
C++实现该问题的动态规划解法必须使用长度为n的dp数组,无法将空间复杂度优化到O(1)
该问题不满足动态规划的重叠子问题性质,因此不适合使用动态规划求解