• Climbing Stairs


    You are climbing a stair case. It takes n steps to reach to the top.

    Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

    class Solution {
    public:
        int climbStairs(int n) {
        /* 给定一个数n,有两种途径到达n
         一,从n-1处,爬一阶楼梯到达n
         二,从n-2处,爬两阶楼梯到达n*/
         if (n==0)
         return 0;
         if (n==1)
         return 1;
         if (n==2)
         return 2;
         //int  *step = new int [n+1];动态申请数组的两种方式
         vector <int>step(n+1);
         if(n>2)
         {
          step[0] = 0;
          step[1] = 1;
          step[2] = 2;
          for (int i= 3;i<=n;i++)
          step[i] = step[i-1] +step[i-2] ;
          return step[n];
         }
           
        }
    };

  • 相关阅读:
    博客园CSS备份5
    博客园界面自定义教程
    awk 入门教程(阮一峰)
    批量检查cksum是否一致
    linux文件批量重命名
    cipher block
    riscv-gdbserver
    rsa_gmp
    asic
    video
  • 原文地址:https://www.cnblogs.com/gofighting/p/5036160.html
Copyright © 2020-2023  润新知