描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。

n<=39

题解

1.递归实现

采用递归的方式进行实现时,从第n个节点向下递归时,存在重复节点,当n越大时,递归越慢,往往会超出题目要求的时间限制

2.非递归实现

描述

为避免重复计算,采用自上而下的方式进行计算

code

public class Solution {

public int Fibonacci(int n) {

int first=0;

int second=1;

int res=0;

int[] result={0,1};

if(n<2){

return result[n];

}

for(int i=1;i

res=first+second;

first=second;

second=res;

}

return res;

}

}

斐波那契数列的变形

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)

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

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

斐波那契数java实现_斐波那契数列Java实现[剑指offer]相关推荐

  1. JAVA实现二维数组中的查找(《剑指offer》)

    最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...

  2. JAVA实现合并两个排序的链表(《剑指offer》)

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解答: /* public class ListNode {int val;ListNode n ...

  3. 每列大于0的个数_二进制中1的个数(剑指offer第十四天)

    二进制中1的个数 题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输 ...

  4. JAVA实现从上往下打印二叉树(《剑指offer》)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. import java.util.ArrayList; import java.util.LinkedList;/** public ...

  5. JAVA实现包含main函数的栈问题(《剑指offer》)

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. import java.util.Stack;public class Solution {Stack<Inte ...

  6. 【剑指offer】【leetcode精选题集】【Java】剑指offer题解合集 更新中

    Leetcode题集 [剑指offer][JAVA]面试题第[03]题[数组中的重复数字][HashSet] [剑指offer][JAVA]面试题第[04]题[二维数中的查找][数组] [剑指offe ...

  7. 《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java

    <LeetCode力扣练习>剑指 Offer 10- I. 斐波那契数列 Java 一.资源 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) ...

  8. 用循环实现斐波那契数列_剑指 Offer 10- I. 斐波那契数列

    剑指 Offer 10- I. 斐波那契数列 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F ...

  9. [剑指Offer]斐波那契数列、跳台阶、兔子数量问题(递归、非递归)(Java)

    剑指Offer题目 斐波那契数列 题目描述 [剑指Offer 7]大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). [剑指Offer 8]一只青蛙 ...

  10. 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------剑指offer系列

    题目:斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). f(n) = f(n-1) + f(n-2) 基本思路 这道题在剑指offe ...

最新文章

  1. jedis中scan的实现
  2. 【面试必备】通俗易懂的XGBoost、Transformer、BERT、水波网络原理解析
  3. RNQOJ 98 逃亡的准备
  4. Kafka源码分析-序列3 -Producer -Java NIO(Reactor VS Peactor)
  5. linux shell的组成,理解Linux中子shell的概念
  6. 中国1,2,4-三氟苯市场趋势报告、技术动态创新及市场预测
  7. 25. object类中的一些方法分析
  8. 笔记 3 文件的特殊属性,权限
  9. 暴几个用明文在网上传输用户名密码的网站
  10. 台达编码器型号含义_台达伺服电机命名规则
  11. 阿里云创建docker免费个人容器镜像托管(私服)服务
  12. 精通Java并发——张龙
  13. 【今日学长】来自柚子帮学长--留学生自用英语写作润色工具分享
  14. 系统分析和设计方法之信息系统构件
  15. 电商营销活动的优惠金额精度问题
  16. ROM、RAM存储器原理详解以及DRAM、SRAM、SDRAM 、FLASH存储器的介绍
  17. 印刷最基础的知识(从业人员手册)
  18. 22协方差矩阵 matlab,协方差协方差矩阵【matlab实例】
  19. 4.3每日一题|混合牛奶(c++)
  20. 浅谈搜索引擎SEO(HTML/CSS)

热门文章

  1. c++ qt qlistwidget清空_Qt编写控件属性设计器12-用户属性
  2. mysql+inser+select_解析MySQL中INSERT INTO SELECT的使用
  3. python实现两张图片横向和纵向拼接
  4. python开始之路—基础中的基础
  5. MSRA-万字综述 直击多模态文档理解
  6. 开源开放 | 开源立体化漏洞情报知识图谱(四维创智)
  7. 论文浅尝 | 知识图谱相关实体搜索
  8. 肖仰华 | 基于知识图谱的用户理解
  9. JAVA1.6实现动态编译加载运行
  10. day33-进程池和线程池