Java | Leetcode Java题解之第509题斐波那契数

题目:

题解:

java 复制代码
class Solution {
    public int fib(int n) {
        if (n < 2) {
            return n;
        }
        int[][] q = {{1, 1}, {1, 0}};
        int[][] res = pow(q, n - 1);
        return res[0][0];
    }

    public int[][] pow(int[][] a, int n) {
        int[][] ret = {{1, 0}, {0, 1}};
        while (n > 0) {
            if ((n & 1) == 1) {
                ret = multiply(ret, a);
            }
            n >>= 1;
            a = multiply(a, a);
        }
        return ret;
    }

    public int[][] multiply(int[][] a, int[][] b) {
        int[][] c = new int[2][2];
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 2; j++) {
                c[i][j] = a[i][0] * b[0][j] + a[i][1] * b[1][j];
            }
        }
        return c;
    }
}
相关推荐
北冥湖畔的燕雀16 小时前
C++日志系统:从原理到实战实现
java·开发语言
java修仙传16 小时前
Java 实习日记:一次 Excel 导入校验 Bug 的定位与数据更新逻辑优化
java·数据库·bug·excel·后端开发
稽稽稽稽不如人16 小时前
《从零开始的java从入门到入土的学习生活——Java后端篇》Chapter21——Java后端篇学习记录——Redis初步入门
java·学习·生活
ID_1800790547316 小时前
淘宝店铺所有商品 API 接口:核心能力与数据返回参考
java·服务器·前端
轻刀快马16 小时前
浅聊Java反射
java·开发语言
Gerardisite16 小时前
企业微信智能客服开发实战:API自动回复指南
java·开发语言·python·机器人·企业微信
要开心吖ZSH16 小时前
零基础入门 Spring WebFlux 与 Project Reactor:从小白到顿悟
java·响应式编程·spring webflux
智塑未来16 小时前
装备制造行业设计制造一体化痛点攻克与实战经验总结
java·开发语言·制造
Devin~Y16 小时前
电商AIGC智能客服面试:JVM调优、Spring Cloud微服务、Redis缓存、Kafka消息、K8s观测与RAG落地
java·jvm·spring boot·redis·spring cloud·kafka·kubernetes
Ai马猴子16 小时前
企业定制专属模型,gpt-5.4-cdx高效适配,DMXAPI 安全合规
java·gpt·安全