题目

图片.png

题解

图片.png

  1. class Solution {
  2. public:
  3. int climbStairs(int n) {
  4. int p = 0; int q = 1; int r = 0;//p代表f(x-2) , q代表f(x-1) ,r代表f(x)
  5. //滑动窗口,顺序为r,p,q 代表的只是位置 。
  6. //当r计算完成后,就移动到最右边,然后其他的向左补位
  7. //f(x-2)p + f(x-1)q = f(x)r
  8. //f(x-1)p + f(x)q = f(x+1)r
  9. for (int i = 1; i <= n; i++) {
  10. r = p + q;
  11. p = q;
  12. q = r;
  13. }
  14. return r;
  15. }
  16. };