青蛙跳台阶(java)

2023-11-15

一、问题描述

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

二、算法分析

因为青蛙一次只能跳上1级台阶或者两级台阶,所以对于第n级台阶来说,青蛙只能从第n-1级台阶或者第n-2级台阶跳上。

设青蛙跳上第n级台阶有f(n)种跳法,则

f(n) = f(n-1)+f(n-2),n>2

f(2) = 2

f(1) = 1

三、算法设计

两种解题方案,一,递归法;二,迭代法

根据递推公式进行求解

四、编码实现

一、递归法

public int jumpFloor(int target){
		if(target <= 0) return 0;
		if(target == 1) return 1;
		if(target == 2) return 2;
		return jumpFloor(target-1)+jumpFloor(target-2);
	}

二、迭代法

public int jumpFloor1(int target) {
		 if(target <= 0) return 0;
		 if(target == 1) return 1;
		 if(target == 2) return 2;
		 int one = 1;
		 int two = 2;
		 int result =  0;
		 for(int i=2; i<target; i++){
			 result = one + two;
			 one = two;
			 two = target;
		 }
		 return result;
	}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

青蛙跳台阶(java) 的相关文章

  • python实现斐波那契数列

    斐波那契数列指的是这样一个数列 0 1 1 2 3 5 8 13 特别指出 第0项是0 第1项是第一个1 从第三项开始 每一项都等于前两项之和 Python 实现斐波那契数列代码如下 实现一 1 def fibonacci 2 num in
  • 算法设计-回溯法——装载问题

    算法介绍 回溯法 回溯法又称试探法 回溯法的基本做法是深度优先搜索 是一种组织得井井有条的 能避免不必要重复搜索的穷举式搜索算法 回溯算法的基本思想 从一条路往前走 能进则进 不能进则退回来 换一条路再试 问题实例 问题描述 题目 用回溯法
  • 4Sum (C++实现)

    Given an array S of n integers are there elements a b c and d in S such that a b c d target Find all unique quadruplets
  • 淘汰赛冠军问题

    问题描述 有n个选手 n为2的K次方 进行比赛 两个选手中胜者参加下一场 负者出局 请求出最后的冠军 比赛的胜负由cmp 函数决定 这里是比较两个字符的大小 分析 本体很快可以想到两种方法 分治法和减治法 分治法 将选手平均分为两组 递归求
  • 图形学数学基础之基本蒙特卡罗尔积分(Monte Carlo Integration)

    作者 i dovelemon 日期 2017 07 29 来源 CSDN 主题 Monte Carlo Integration 引言 好久没有写博客了 最近一直在忙于工作 同时GLB库中关于PBR的渲染算法 一直卡住 无法实现下去 不过在这
  • 二进制中1的个数(java)

    一 问题描述 输入一个整数 输出该数二进制表示中1的个数 其中负数用补码表示 二 算法分析 方案一 任何一个十进制整数在机器上存储的都是二进制形式 如果该数为整数 则存储的就是该数的二进制形式 如果该数为负数 则存储的就是该数的二进制补码形
  • 2014百度校招笔试

    1 ISO七层说明 2 用百度地图查询 百度大厦 到 北京大学 得到路线不太稳定是怎么回事 分析可能的原因 测试开发唯一区别于软件开发的一题 3 TCP UDP协议的区别 举出上一层的应用协议 二 算法 1 写出a0 a1 a2 an的所有
  • C/C++程序算法小练习--大整数减法

    大整数减法 include
  • 【转】那些年使用过MapReduce的论文

    MapReduce is a programming model for processing large data sets with a parallel distributed algorithm on a cluster It s
  • 深度优先查找和广度优先查找

    深度优先查找和广度优先查找 在人工智能和运筹学的领域中求解与图有关的许多应用中 这两个算法被 证明是非常有用的 并且 如需高效地研究图的基本性质 例如图的连通性以及图是否存 在环 这些算法也是必不可少的 深度优先查找 深度优先查找可以从任意
  • JS和Java实现链表类的基本功能

    综合网上实例 参考 http www 2cto com kf 201204 126773 html JavaScript实现参考 http m blog csdn net blog caiwenfeng for 23 8496029 Jav
  • 素数环问题(回溯法)

    素数环是一个计算机程序问题 指的是将从1到n这n个整数围成一个圆环 若其中任意2个相邻的数字相加 结果均为素数 那么这个环就成为素数环 现在要求输入一个n 求n个数围成一圈有多少种素数环 规定第一个数字是1 include
  • 算法——因子和阶乘

    题目描述 输入正整数n 2 lt n lt 100 把阶乘n 1x2x3x xn分解成素因子相乘的形式 从小到大输出各个素数 2 3 5 的指数 你的程序应忽略比最大素因子更大的素数 否则末尾会有无穷对个0 样例输入 5 53 样例输出 5
  • 青蛙跳台阶(java)

    一 问题描述 一只青蛙一次可以跳上1级台阶 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 二 算法分析 因为青蛙一次只能跳上1级台阶或者两级台阶 所以对于第n级台阶来说 青蛙只能从第n 1级台阶或者第n 2级台阶跳上 设青蛙跳
  • 搜狐畅游2018年9月15日校招真题(2)

    通过该道题目 题目描述 示例代码 include
  • 基于前馈神经网络(SLFN)的极限学习机-遗传算法相结合

    文章目录 一 极限学习机 1 1 概要 1 2 优点 1 3 不足 1 4 改进 二 前馈神经网络结构 2 1 构成 2 2 变量解释 2 3 求解 三 遗传算法 GA 3 1 概要 3 2 遗传算法流程 3 3 执行过程 一 极限学习机
  • 字典序问题

    问题描述 在数据加密和数据压缩中常需要对特殊的字符串进行编码 给定的字母表A 由26 个小写英文字母组成A a b z 该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同 且每个字符最多出现1 次
  • 新学期阅读计划

    1 再认真阅读 设计模式之禅 在理解的基础上应用设计模式 2 编程之美 共4章 61个有意思的题目 3 图书馆借阅 算法导论 4 再阅读 算法之道 5 了解 操作系统导论 真正理解不要死记硬背 6 反复多次阅读经典的论文 特别是及时和师姐多
  • P2PSim中重要函数的说明

    环境 RedHat9上安装的P2Psim0 3 目的 在P2Psim使用Vivaldi协议仿真 现状 主程序代码中关于vivaldi协议的部分注释掉了 思路 从主函数分析代码 找到原因 vivaldi协议主函数是vivalditest C
  • 手把手教你实现一个向量

    文章目录 什么是向量 向量提供哪些接口 实现 宏定义 定义类 成员变量 构造函数与析构函数 构造函数 析构函数 成员函数 size get r put r e expand insert r e remove lo hi remove r

随机推荐

  • 关注公号: AI深度视线

    1 引言 摘要 在这项工作中 我们旨在构建一个性能强大的简单 直接和快速的实例分割框架 我们遵循SOLOv1方法的原理 SOLO 按位置分割对象 重要的是 我们通过动态学习目标分割器的mask head 具体来说 将mask分支解耦为mas
  • 秋招提前批!大厂offer的捷径!

    前言 又是一年秋招季 年年岁岁花相似 岁岁年年人不同 今天 博主在牛客上看到一个帖子 24届校招提前批已经开始了 24届大厂提前批 首先 跟大家科普一下提前批的概念 提前批是指企业在校园招聘季之前提前开展的招聘活动 它通常在暑假期间或上半年
  • 基于STM32F103C8T6的高速DMA传输多通道ADC数据

    文章目录 前言 一 软件设计思路 二 代码 总结 前言 ADC在STM32系列单片机的使用中占用着很大的比例 常见的案例是通过ADC单次转换电压值 这种方式的缺陷在于转换效率不高 一般的单片机带有ADC1和ADC2两个ADC转换 单次转换需
  • modbus协议详解_【实例】西门子PLC通过MODBUS控制变频器

    一 MODBUS通信概述 MODBUS协议分为串行链路上MODBUS协议和基于TCP IP协议的MODBUS 协议 串行链路上MODBUS协议有MODBUS ASCAII 字符串 和MODBUS RTU两种 200SMART所提供的MODB
  • 全面分析副业做什么更快速见收益?

    大家好 我是沐小沐 今天我们聊一聊全面分析副业做什么更快速见收益 如今副业刚需的时代 沒有副业 等于你就失去了几百万的车和房 并不夸张 在这个填满焦虑情绪的社会发展 每个人都是在整体规划自身的副业 哪些的副业才算是好的副业呢 我觉得最好是能
  • SAP 科目的 未清项管理的理解

    清账的事务代码 自动清账 F 13 总账清账 F 04 供应商清账 F 53 客户清账 F032 未清项管理是SAP的一个重要功能 通过未清项管理可以实现付款 收款 的一一对应 以及准确的账龄分析 会计科目设置此标志后 系统会将凭证行标记为
  • 在虚拟磁盘中安装Windows Server 2016

    说起来我一直没有安装过Windows服务器版的系统 所以最近想尝试一下Windows Server 2016 这个最新的Windows服务器系统 当然如果是家用的话 肯定还是安装桌面版的系统更好 服务器版的系统主要是企业使用 日常功能反而不
  • python读取每一行再按照空格分隔

    all with open number txt r as f for line in f readlines curLine line strip split print curLine all append curLine f clos
  • 附近商家位置java开发附近定位

    根据给定经纬度 lat lng 求出其左上角 left top 右上角 right top 左下角 left bottom 右下角 right bottom 的四个位置 所有在这个区域的范围都在该点附近 public class Test
  • 最新计算机毕业设计选题推荐 - 毕设选题建议

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • 2020全国网络安全知识竞赛链工宝答案 爬取 自动答题

    要用浏览器打开公众号的练题库 然后就可以自动获取答案 最下面是我获取到的300多个题 差不多就这些了 可以进一个加个函数自动答题 def fu try browser refresh time sleep 2 xx browser find
  • STM32F103RET6 ADC配置流程

    STM32F103RET6 ADC基本配置流程 首先 使用RCC库函数RCC APB2PeriphClockCmd使能ADC时钟 可以使用以下代码 RCC APB2PeriphClockCmd RCC APB2Periph ADC1 ENA
  • 开环控制系统与闭环控制系统

    开环控制系统是指无被控量反馈的控制系统 即需要控制的是被控对象的某一量 被控量 而测量的只是给定信号 被控量对于控制作用没有任何影响的系统 结构如图所示 闭环控制的定义是有被控制量反馈的控制 其原理框如图所示 从系统中信号流向看 系统的输出
  • 最强Transformer发布!谷歌大脑提出ViT-G:缩放视觉Transformer,高达90.45%准确率!

    Scaling Vision Transformers 论文 https arxiv org abs 2106 04560 1简介 视觉Transformer ViT 等基于注意力的神经网络最近在许多计算机视觉基准测试中取得了最先进的结果
  • 关于在uni-app中引入组件、css样式以及js文件的方法总结

    uni app是使用vue js开发多端应用的框架 可以说为一些钱多开发者提供了很大的方便 近些天学习了一下vue js 可当开始开发的时候却不知怎么去将文件分块 然后查了一下 发现引入文件确实与传统的html不一样 总结了一下分别引入组件
  • TM1638芯片 LED数码管驱动器 详细介绍

    相比MAX7219 TM1638的操作更加复杂 但是功能也更加强大 目录 TM1638简介 器件特性 TM1638引脚图 引脚功能说明 TM1638地址组 显存地址 键值地址 TM1638指令表 指令分类 数据命令 地址命令 显示控制命令
  • 多个前端项目部署在nginx中同一个server下

    多个前端项目部署在同一个域名下 在vue config js中设置 publicPath web 在路由index js中设置 base web 在index html中加入 修改NGINX设置 基本就是使location 指向原来的web
  • 日本传统色彩大全

    古代紫 895b8a 茄子紺 824880 二藍 915c8b 京紫 9d5b8b 蒲葡 7a4171 若紫 bc64a4 紅紫 b44c97 梅紫 aa4c8f 菖蒲色 cc7eb1 紅藤色 cca6bf 浅紫 c4a3bf 紫水晶 e7
  • 同时配置cuda11.0和11.1环境

    同时配置cuda11 0和11 1环境 背景 思路 流程 电脑环境确认 确认位置 安装新CUDA环境 1 执行cuda exe 2 配置环境变量 安装cudnn 背景 在电脑上安装多个版本的cuda 电脑已经安装好了cuda11 0 由于m
  • 青蛙跳台阶(java)

    一 问题描述 一只青蛙一次可以跳上1级台阶 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 二 算法分析 因为青蛙一次只能跳上1级台阶或者两级台阶 所以对于第n级台阶来说 青蛙只能从第n 1级台阶或者第n 2级台阶跳上 设青蛙跳