斐波那契数列

  • 递归
  • 记忆化递归
  • 动态规划
public class dp {//# 递归的的斐波那契数列解决方法 时间复杂度O(2^n)public  long fibonacci(int n) throws Exception{//特殊情况,分开讨论if (n == 1 || n == 2) { return 1; }if (n > 2) { return fibonacci(n - 1) + fibonacci(n - 2); }//递归调用return -1;              //如果输入错误的n,一律返回-1}//    # 记忆化搜索public static long fibonacci1(int n) {int[] memo = new int[n + 1]; // 自定义数组的默认值都为0if (n == 0) { return 0; }if (n == 1) { return 1; }// 当数组的值为0时,才进行迭代if (memo[n] == 0) { memo[n] = (int) (fibonacci1(n - 1) + fibonacci1(n - 2)); }return memo[n];}
//    # 动态规划 先解决小数据量的 再层层递推的解决大数据量级的问题 时间复杂度O(n)public static long fibonacci2(int n){long f0 = 1, f1 = 1;long f2 = 0;for(long i = 3; i <= n; i++){f2 = f0 + f1;f0 = f1;f1 = f2;}return f2;}/*** 阶乘* @param* @return*//*public int factorial(int n) throws Exception {if (n < 0) {throw new Exception("负数没有阶乘");} else if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}*/public static void main(String[] args) {//        System.out.println(fibonacci(100));
//        System.out.println(fibonacci1(100));System.out.println(fibonacci2(30));}}

算法设计与分析(Java实现)—— 动态规划(入门)斐波那契数列相关推荐

  1. 算法练习day20——190411(重建二叉树、斐波那契数列、跳台阶、矩形覆盖、变态跳台阶、旋转数组的最小数字、矩阵中的路径)

    1.重建二叉树 根据二叉树的前序遍历和中序遍历的结果,重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. preorder = [3,9,20,15,7].inorder = [9 ...

  2. 【剑指offer - C++/Java】7、斐波那契数列

    在线题目链接:斐波那契数列 文章目录 1.题目描述 2.题目分析 3.代码 3.1 递归方法 3.11 Java代码 3.12 C++代码 3.2 动态规划 3.21 Java代码 3.22 C++代 ...

  3. 动态规划实现斐波那契数列求解

    int fibonacciDP1(int n) { // 动态规划不使用数组int a = 0;int b = 1;int sum;int i;if (n == 0)return 0;if (n == ...

  4. 动态规划:斐波那契数列里面的东西?

    斐波那契数列 我想每个人都会写斐波那契数列吧!! 斐波那契数列的定义 f(0) = 1,f(1) = 1,f(n) = f(n-1) + f(n-2) 基于递归的方式实现,讲到递归都会用到: def ...

  5. 【README2】动态规划之斐波那契数列说明重叠子问题如何解决

    接上文:[README1]动态规划之解题思路 文章目录 斐波那契数列讲解--解决重叠子问题 (1)暴力递归 (2)带有备忘录的递归解法 (3)自底向上--dp数组解法 (4)总结:状态转移方程 (5) ...

  6. 动态规划Ⅰ:斐波那契数列

    动态规划题目类型 & 做题思路总览:动态规划解题套路 & 题型总结 & 思路讲解 文章目录 一.斐波那契数列 1. 爬楼梯问题 2. 打家劫舍系列 3. 信件错排 4. 母牛生 ...

  7. 递归入门 斐波那契数列

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...

  8. java学习笔记之斐波那契数列

    斐波那契数列计算公式为: f(n) = f(n-1)+ f(n-2) 基于此写了一个方法,用于输出一个长度为指定的斐波那契数列(从正数1开始, 即1,1 ,2 ,3 ,5 ....): static ...

  9. Python|动态规划问题--斐波那契数列

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 斐波那契数列 斐波 ...

  10. c语言减治法求a的n次方算法,拜托,面试别再问我斐波那契数列了!!!

    面试中,问得比较多的几个问题之一,求斐波那契数列f(n)? 画外音:姐妹篇 <拜托,面试别再问我TopK了!!!> <拜托,面试别再让我数1了!!!> 什么是斐波那契数列? 斐 ...

最新文章

  1. repeater 控件嵌套
  2. 【Java 泛型】泛型用法 ( 泛型编译期擦除 | 上界通配符 <? extends T> | 下界通配符 <? super T> )
  3. DLL+ ActiveX控件+WEB页面调用例子
  4. 我的 2021 之感谢有你们(上篇)
  5. c语言vc数据类型长度,vc和gcc对C语言数据类型长度的定义
  6. [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)
  7. Exception in thread “main“ java.lang.NoSuchMethodError: scala.collection.mut
  8. MySQL索引设计原则
  9. Ubuntu安装rpm安装包
  10. ug区域轮廓铣没有重叠距离_UG加工基本操作
  11. Jenkins+CCNET的另类部署图
  12. 初识ProtoBuf(3.18.1)
  13. 如何把图片整合到war3的mpq文件中作为登录背景界面
  14. Sql代码美化工具:Sql Pretty Printer for SSMS V3.6.1
  15. 10款微信公众平台相关的开源软件
  16. Modern Robotics:机器人的构型空间
  17. 密码学常用工具,作图
  18. 简练网软考知识点整理-易混概念项目绩效评估与团队绩效评价
  19. vscode点击ctrl+c 光标变粗,且复制粘贴不了
  20. 【SAP】进项税的配置与传输

热门文章

  1. 分享77个HTMLCSS源码,总有一款适合您
  2. (十四)懈寄生(3)
  3. win10重置网络后搜索不到无线网(wifi没了)
  4. chrome浏览器不成设置成默认浏览器
  5. ::before 和:before 区别
  6. time(),date(),microtime()…
  7. 转:伟大的进展,都源于承认无知,源于思想自由
  8. wan端口未连接怎么弄_wan口未连接是什么意思?怎么解决
  9. red hat linux忘记root密码,Red Hat Linux忘记root密码的解决办法
  10. iOS调试Bug技巧