题目
写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。
效率很低的解法,挑剔的面试官不会喜欢
1 | public int Fibonacci(int n) { |
面试官期待的实用解法
1 | public static int Fibonacci(int n) { |
时间复杂度O(logn)但不够实用的解法
相关题目
跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
实现
1 | public int JumpFloor(int target) { |
变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。此时该青蛙跳上一个n级的台阶总共有多少种跳法?
实现
1 | public int JumpFloorII(int target) { |
矩形覆盖
我们可以用2x1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2x1的小矩形无重叠地覆盖一个2xn的大矩形,总共有多少种方法?
实现
1 | public int RectCover(int target) { |