题目:
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?
解题思路:爬楼梯一次可以爬1阶或2阶,通项公式是f(n) = f(n-1)+f(n-2),其实质是一个斐波拉契数列问题。解法可以采用递归或者迭代进行求解,由于递归的时间复杂度较高,所以采取迭代方式,算法如下:
public class Solution {
public