##四、变态条楼梯
###题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
###分析
也是斐波那契数列问题,根据上述的思路,可以得到
f(n)=f(n-1)+f(n-2)+f(n-3)+...+f(0),由此就有两种思路解答
(1)接着上式推出=> f(n)=2f(n-1)
(2)通过创建一个数组,进行循环,把f(0)、f(1)、...、f(n-1)的值存入数组中,然后把数组元素的值都相加得到f(n)
###代码
(1)

public class Solution {
public int JumpFloorII(int target) {
if(target==0){
return 0; }
if(target==1){
return 1;
}
return 2*JumpFloorII(target-1);
}
}

(2)

public class Solution {
public int JumpFloorII(int target) {
if(target <= 2){
return target;
}
int[] dp = new int[target + 1]; // 0 号不使用
dp[1] = 1; //跟普通的 pre2 一个意思
dp[2] = 2; //跟普通的 pre1 一个意思
for (int i = 3; i <= target; i++){
for (int j = i - 1; j >= 1; j--){
dp[i] += dp[j];
}
dp[i]++;
}
return dp[target];
}
}

剑指offer-4:变态条楼梯的更多相关文章

  1. [剑指Offer]2.变态跳台阶

    题目 一仅仅青蛙一次能够跳上1级台阶,也能够跳上2级--它也能够跳上n级. 求该青蛙跳上一个n级的台阶总共同拥有多少种跳法. 思路 用Fib(n)表示青蛙跳上n阶台阶的跳法数,设定Fib(0) = 1 ...

  2. Go语言实现:【剑指offer】变态跳台阶

    该题目来源于牛客网<剑指offer>专题. 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 找规律: 1阶:1种: 2阶:2 ...

  3. 剑指OFFER之变态跳台阶(九度OJ1389)

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1 ...

  4. 剑指Offer 9. 变态跳台阶 (递归)

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 题目地址 https://www.nowcoder.com/practice/ ...

  5. 剑指offer:变态跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法.   思路 首先想到的解决方案是根据普通跳台阶题目改编,因为可以跳任意级,所以要 ...

  6. 牛客网-《剑指offer》-变态跳台阶

    C++ class Solution { public: int jumpFloorII(int n) { <<--n; } }; 推导: 关于本题,前提是n个台阶会有一次n阶的跳法.分析 ...

  7. 【剑指offer】变态跳台阶

    一.题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.思路: f(n)=f(n-1)+f(n-2)+...+f(0),f(1) ...

  8. 剑指offer 09变态跳台阶

    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. java版本: public class Solution { public stati ...

  9. [剑指Offer] 9.变态跳台阶

     题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. [思路1]每个台阶都有跳与不跳两种可能性(最后一个台阶除外),最后一个台阶必 ...

随机推荐

  1. Apache配置转发

    第一种: LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_htt ...

  2. spring-sevlet简单配置

    <<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www ...

  3. SQL Server清空数据库中ldf日志文件

    USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [W ...

  4. 使用FFmpeg让mp4转gif

    配好环境之后,需要在开始菜单中打开命令提示符,然后进入到test.mp4的文件目录下执行命令.(直接在文件目录下打开cmd不能生效)ffmpeg -i test.mp4 -f gif test.gif

  5. 如何下载github项目中的某一部分

    如何下载github项目中的某一部分 一.总结 一句话总结: 通过 DownGit 下载:原地址失败的话直接百度DownGit,一大堆可用的 通过 Chrome 插件 GitZip 进行下载(推荐) ...

  6. SpringMVC——-Controller返回格式化数据如JSON、XML的配置方式和机制

    1.本文内容 我们在Web项目开发过程中,一般来说访问一个处理器,然后会返回一个视图,或者跳转到另外的处理器.但是随着项目越来越复杂,需求越来越复杂,对于处理器返回数据的类型要求也越来越多.比如要求能 ...

  7. 代码实现:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    import java.util.ArrayList; import java.util.List; import java.util.Scanner; //有n个人围成一圈,顺序排号.从第一个人开始 ...

  8. Django模型的Field Types

    Field Types 常用参数: null 如果设置为 True , Django 存放一个 NULL 到数据库字段.默认为 False. allow_null 如果设置为 True , 该字段将接 ...

  9. asp.net mvc model attribute and razor and form and jquery validate 完美结合

    1.创建Model,添加标注. [Serializable] public class BaseUserModel:BaseModel { [StringLength(100)] [Required( ...

  10. java:maven(maven-ssm(聚合,分包开发))

    1.maven-ssm: maven-ssm_diy: pom.xml: <?xml version="1.0" encoding="UTF-8"?> ...