Marconi25 2017-09-26 12:26 采纳率: 100%
浏览 953
已采纳

求问下面c++算法怎么理解?

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

int climbStairs(int n) {
int a = 1, b = 1;
while (n--)
{b=b+a;
a=b-a;//主要是这两句怎么理解?
}
return a;
}

谢谢

  • 写回答

2条回答 默认 最新

  • wanwan_1996 2017-09-27 03:12
    关注

    这不就是fn = f(n - 1) + f(n -2) 的形式吗?
    找规律就行啦,你多写几层的结果就会发现规律。
    硬要说是算法的话,可以往dp上靠一靠

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1