力扣70题 爬楼梯问题的新手教程.docxVIP

  • 1
  • 0
  • 约小于1千字
  • 约 2页
  • 2025-06-04 发布于江苏
  • 举报

力扣70题爬楼梯问题的新手教程

题目分析

题目要求计算爬到n阶楼梯的不同方法数,每次可以爬1或2个台阶。关键在于理解:

到达第n阶的方式只能从n-1阶跨1步,或从n-2阶跨2步

方法总数遵循斐波那契数列规律(f(n)=f(n-1)+f(n-2))

生活场景类比

想象你要上到商场3楼:

从2楼跨1步

直接从1楼跨2步总方法数=到2楼的方法+到1楼的方法

解题步骤

初始化数组存储计算结果(记忆化)

处理边界条件(n=0或1时返回1)

递归计算:f(n)=f(n-1)+f(n-2)

存储中间结果避免重复计算

注意事项

必须初始化存储数组(防止随机值)

n的范围限制(题目给定n≤45)

递归深度问题(可用迭代优化)

代码注释

classSolution{

public:

inta[46];//记忆化存储数组

Solution(){//构造函数初始化数组

for(inti=0;i45;i++)a[i]=0;

}

intclimbStairs(intn){

if(n==0orn==1)return1;//边界条件

if(a[n]==0){//未计算过则递归计算

a[n]=climbStairs(n-1)+climbSt

文档评论(0)

1亿VIP精品文档

相关文档