题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
follow up问题要思考前面解决问题的方法,这题就是用数学方法统计出结果的例子。
f(n) = f(n - 1) + f(n - 2) + f(n - 3) + ... + f(1);
f(n - 1) = f(n - 2) + f(n - 3) + ... + f(1);
=> f(n) = 2f(n - 1) ;
package main import ( "math" ) func jumpFloorII( number int ) int { // write code here if number < 0 { return 0 } if number == 0 { return 1 } return int(math.Pow(2, float64(number - 1))) }