斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,   F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
给定 N,计算 F(N)。

示例 1:

输入:2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1.
示例 2:

输入:3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2.
示例 3:

输入:4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3.

矩阵快速幂

class Solution {int fib(int N) {if (N <= 1) {return N;}int[][] A = new int[][]{{1, 1}, {1, 0}};matrixPower(A, N-1);return A[0][0];}void matrixPower(int[][] A, int N) {if (N <= 1) {return;}matrixPower(A, N/2);multiply(A, A);int[][] B = new int[][]{{1, 1}, {1, 0}};if (N%2 != 0) {multiply(A, B);}}void multiply(int[][] A, int[][] B) {int x = A[0][0] * B[0][0] + A[0][1] * B[1][0];int y = A[0][0] * B[0][1] + A[0][1] * B[1][1];int z = A[1][0] * B[0][0] + A[1][1] * B[1][0];int w = A[1][0] * B[0][1] + A[1][1] * B[1][1];A[0][0] = x;A[0][1] = y;A[1][0] = z;A[1][1] = w;}
}

leetcode509. 斐波那契数(矩阵快速幂)相关推荐

  1. HDU 4549 M斐波那契数列(矩阵快速幂费马小定理)

    ps:今天和战友聊到矩阵快速幂,想到前几天学长推荐去刷矩阵专题,挑了其中唯一一道中文题,没想到越过山却被河挡住去路... 题目链接:[kuangbin带你飞]专题十九 矩阵 R - M斐波那契数列 T ...

  2. HDU4549 M斐波那契数列(矩阵快速幂+费马小定理)

    Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) ...

  3. YBTOJ:斐波拉契(矩阵快速幂)

    文章目录 题目描述 题目描述 代码 题目描述 题目描述 关键在于如何转化为本题的题目... 设 y=(1-根号5)/2$$ 再令: A(n)=xn +++ yn 通过尝试可以发现,A其实就是一个1,3 ...

  4. 蓝桥杯历届试题----斐波那契(矩阵快速幂)

    问题描述 斐波那契数列大家都非常熟悉.它的定义是: f(x) = 1 -. (x=1,2) f(x) = f(x-1) + f(x-2) -. (x>2) 对于给定的整数 n 和 m,我们希望求 ...

  5. 牛客15666 又见斐波那契(矩阵快速幂)

    链接:https://ac.nowcoder.com/acm/problem/15666 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  6. 斐波那契数列矩阵快速幂

    题意 用矩阵乘法求fibonacci数列的第n项. Solution 矩乘入门题啊,题目把题解已经说的很清楚里= =. 矩乘其实很简单,通过自己YY或者是搜索对于一个递推公式求出它所对应的矩阵,然后套 ...

  7. leetcode509. 斐波那契数

    一:论语 我现在应该还没到壮年 还在年少 应该............... 二:题目 三:上码 class Solution {public:/**思路:动态规划5步曲1.确定dp数组以及下标的含义 ...

  8. 奶牛家族(斐波那契数列的快速幂乘矩阵算法)

    TX面试题: 已知有一头牛4年后开始生小牛,一次只能生一只,问20年后一共有多少头牛? 这种问题就是简单的递归: 这头奶牛在第四年后能不断生子直到第二十年,其子出生4年后又能不断生子-- 代码如下: ...

  9. LeetCode509题 (斐波那契数)

    题目描述:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 .该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0,F(1) = 1 F(n) ...

最新文章

  1. 人工智能热潮下,我们该如何紧跟科技脚步呢?
  2. 【Android游戏开发十八】解放手指,利用传感器开发游戏!
  3. 计算机网络 实验教案,《计算机网络》实验教案.pdf
  4. tk-mapper 生成器
  5. 最大最小距离算法(K-MEANS K-medoids )聚类算法的结合运用
  6. Javascript面试题一套
  7. easyui 渲染问题(转)
  8. [LeetCode] Merge Sorted Array
  9. 【回归预测】基于matlab麻雀算法SSA优化混合核极限学习机KELM回归预测【含Matlab源码 1646期】
  10. Flash MX 2004 编程(AS2.0)教程(五)
  11. 【财富空间】人性的弱点,明白了你就可以掌控自己的人生
  12. tableau实战系列(十二)-使用盒须图查看你的数据分布
  13. 双系统安装,错误:验证无效shim签名?
  14. C# 委托代理动态的方法
  15. 使用SVM模型对京东评价进行情感分析---【大白话版】
  16. 免费稳定的APP分发托管平台,支持应用合并、内测分发、扫码下载
  17. usb触摸屏驱动 - usbtouchscreen
  18. python写文件字母_Python - 文件读写
  19. 【每天读一点英文】叶芝诗歌《当你老了》赏析——特别喜欢的一首诗,水木年华《一生有你》歌词来源
  20. 计算机用户分为哪4类,计算机的分类-通常将计算机分为哪几类?通常将计算机分为哪几类,各自的特点和用途 爱问知识人...

热门文章

  1. select与pselect的信号屏蔽
  2. centos8 默认nginx路径_CentOS 8系统安装Nginx Web服务器及常见配置过程
  3. 小学有学计算机课程,如何进行小学计算机课程有效教学.doc
  4. 计算机支持协同工作不是多媒体应用,计算机支持的协同工作概观.PDF
  5. linux shell 原理,linux下shell的工作原理
  6. c语言二进制数怎么表示_搞懂这些公式和原理,二级C语言对你来说肯定会简单很多!...
  7. 【转】VS编译时自动引用Debug|Release版本的dll
  8. 【转】1.DThread、ThreadPool、Task、Parallel的基本用法、区别以及弊端
  9. Spark(idea)操作mysql进行查询和插入 (代码+理解)
  10. CCNA-第一篇-基础入门概念