1.爬楼梯问题,有个N阶的楼梯,一个人可以一次爬1阶,也可以爬2阶,求问总计有多少种爬法? F(N)= F(N-1)+F(N-2). N=1时,有1种爬法,N=2时,有2种爬法。该题可以用递归方法求解,也可以用斐波那契数列求解。建议用菲波那切数列求解,因为递归求解会导致特别多冗余计算,大大增加计算时间。此外,返回值类型最好设为long long int类型,因为一旦楼梯阶数稍稍多一些,爬法就是特别多,int类型容纳不下,容易溢出。 该问题的变种问题:该人看一次可以爬1阶,爬2阶,一直到爬N阶,求问总计有多少种爬法?F(N)=F(N-1)+F(N-2)+.........+F(0)=2*F(N-1). 所以可归结为等比数列。只需要记住“ N=1时,有1种爬法”这个知识就好。答案是:return 1<<(number-1);
常见IT面试题
2024-02-28 14:27:04