news 2026/6/10 15:18:00

浅谈:算法中的斐波那契数(六)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
浅谈:算法中的斐波那契数(六)

方法五:矩阵求幂

斐波那契数列矩阵方程:

算法

  • 若 N 小于等于 1,则返回 N。
  • 使用递归函数matrixPower 计算给定矩阵 A 的幂。幂为 N-1,其中 N 是第 N 个 斐波那契数。
  • matrixPower 函数将对 N/2 个斐波那契数进行操作。
  • 在 matrixPower 中,调用 multiply 函数将两个矩阵相乘。
  • 完成计算后,返回 A[0][0] 得到第 N 个斐波那契数。

Java 实现

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; } }

复杂度分析

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:01:48

学习笔记——线程控制 - 互斥与同步

线程控制 - 互斥与同步一、 互斥&#xff08;Mutex&#xff09;1.概念在多线程中对临界资源的排他性访问。临界资源&#xff1a;在多线程中会被多个线程进行读写操作的资源&#xff08;全局变量、文件、设备等&#xff09;排他访问&#xff1a;同一时刻只能有一个线程进行读写操…

作者头像 李华
网站建设 2026/6/10 10:57:41

谁是本赛季西甲表现最亮眼的新星?

如果要为本赛季的西甲贴上一个标签&#xff0c;“青春风暴”再合适不过。当梅西、C罗的时代逐渐成为背景&#xff0c;一大批不到20岁的天才少年正以前所未有的速度抢班夺权。他们中有人已成球队大腿&#xff0c;有人初露锋芒即震惊世界。那么&#xff0c;在众星闪耀中&#xff…

作者头像 李华
网站建设 2026/6/10 11:01:30

使用U盘启动盘在VMware虚拟机中安装Linux系统

目录预览一、问题描述二、原因分析三、解决方案四、参考链接一、问题描述 想使用制作的U盘启动盘在虚拟机Vmware中安装系统&#xff0c;结果发现怎么都无法接通U盘&#xff1a; 不放图了就… 二、原因分析 进入固件的时候&#xff0c;没有识别到U盘缺少管理员权限&#xff1…

作者头像 李华
网站建设 2026/6/10 7:04:56

测试工程师必备书单:从基础到精通的15本经典指南

一、测试基础与思维构建&#xff08;3本&#xff09; 1. 《软件测试艺术》&#xff08;Glenford J. Myers&#xff09; 核心价值&#xff1a;测试领域的奠基之作&#xff0c;深入剖析测试哲学与底层逻辑 重点章节&#xff1a;测试心理学、缺陷分类模型、测试用例设计原则 适…

作者头像 李华