经典笔试题:走阶梯问题
走阶梯,有n级阶梯,一次可以走一级、两级或者三级,请编写一个函数计算走完该阶梯一共有多少种种方法?
该题主要是考察递归算法思想。
int f(int n) { if (n == 1) { return 1; } if (n == 2) { return 2; } //当阶梯数为3是4种走法,要特别注意,各位可以拿笔在纸上画画 if (n == 3) { return 4; } return f(n - 1) + f(n - 2) + f(n - 3); }
走阶梯,有n级阶梯,一次可以走一级、两级或者三级,请编写一个函数计算走完该阶梯一共有多少种种方法?
该题主要是考察递归算法思想。
int f(int n) { if (n == 1) { return 1; } if (n == 2) { return 2; } //当阶梯数为3是4种走法,要特别注意,各位可以拿笔在纸上画画 if (n == 3) { return 4; } return f(n - 1) + f(n - 2) + f(n - 3); }