剑指offer:变态跳台阶 Love The Way You Lie 2021-06-24 16:00 300阅读 0赞 **试题:** 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 **代码:** 同理,从后往前想: f(n) = f(n-1) + f(n-2) + f(n-3) .... + f(1) + f(0) f(n-1) = f(n-2) + f(n-3) + .... + f(1) + f(0) 则: f(n) = f(n-1) + f(n-1) = 2\*f(n-1) 则: f(n) = 2\*f(n-1) f(n-1) = 2\*f(n-2) f(n-2) = 2\*f(n-3) ...... f(2) = 2\*f(1) 共有n-2+1个2相乘。 注意: f(1) = 1 f(0) = 1 public class Solution { public int JumpFloorII(int target) { int res = 1; return 1<<(target-1); } }
还没有评论,来说两句吧...