剑指offer-变态跳台阶

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
 

f(n)=f(n-1)+f(n-2)+...+f(n-n)          =f(0)+f(1)+...+f(n-1)
       f(n-1)=f(n-2)+f(n-3)+...+f(n-n)=f(0)+f(1)+...+f(n-2)
=>f(n)=2*f(n-1)

1 public int JumpFloorII(int target) {// mytip
2         int re =1;
3         for(int i=2;i<=target;i++){
4             re*=2;
5         }
6         return re;
7     }

 也可以使用递归,但时间复杂度较高,为了防止重复计算,要保存中间计算结果

 

相关题

跳台阶 LeetCode70 https://www.cnblogs.com/zhacai/p/10429253.html

posted @ 2019-04-09 15:51  月半榨菜  阅读(88)  评论(0编辑  收藏  举报