线性递推通用模板

java 复制代码
import java.util.Scanner;

// 刷题固定类名:Main
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 1. 输入目标项 N
        int N = scan.nextInt();

        // 2. 递推核心:数组长度 = N+1(编号0~N一一对应)
        long[] f = new long[N + 1];

        // 3. 安全初始化(自动规避数组越界,你独创的最优写法!)
        if (N >= 0) f[0] = 初始值0;   // 题目规定的第0项值
        if (N >= 1) f[1] = 初始值1;   // 题目规定的第1项值

        // 4. 递推循环:从第2项开始,到 N 结束(固定写法)
        for (int i = 2; i <= N; i++) {
            f[i] = 递推公式;          // 按题目要求写规则
        }

        // 5. 输出第N项结果
        System.out.print(f[N]);
        scan.close();
    }
}

需要改的地方 ,其他代码一行都不动

  1. 初始值 ,看题目给的初始值是啥,就写啥,给了几个就写几个
  2. 递推公式 :题目给的计算规则(如斐波那契 f[i-1]+f[i-2]

必须要写的

在初始值前面加上if判断,确保初始值包含在输入的范围里面

如果要用到数组,数组要开N+1的空间

for循环里面的范围必须用<=

相关推荐
2501_9333295516 小时前
媒介宣发技术实践:Infoseek舆情系统的AI中台架构与应用解析
开发语言·人工智能·架构·数据库开发
雨奔17 小时前
Kubernetes DNS 完全指南:服务发现核心机制与实践
java·kubernetes·服务发现
DuHz17 小时前
论文精读:大语言模型 (Large Language Models, LLM) —— 一项调查
论文阅读·人工智能·深度学习·算法·机器学习·计算机视觉·语言模型
[J] 一坚17 小时前
嵌入式高手C
c语言·开发语言·stm32·单片机·mcu·51单片机·iot
odoo中国17 小时前
Odoo 19技术教程 : 如何在 Odoo 19 中创建 Many2one 组件
开发语言·odoo·odoo19·odoo技术·many2one
加农炮手Jinx17 小时前
LeetCode 72. Edit Distance 题解
算法·leetcode·力扣
借雨醉东风17 小时前
程序分享--常见算法/编程面试题:旋转矩阵
c++·线性代数·算法·面试·职场和发展·矩阵
逻辑驱动的ken17 小时前
Java高频面试考点场景题14
java·开发语言·深度学习·面试·职场和发展·求职招聘·春招
阿冰冰呀18 小时前
互联网大厂Java求职面试实录:谢飞机的“水货”之路
java·mybatis·dubbo·springboot·线程池·多线程·hashmap
_深海凉_18 小时前
LeetCode热题100-打家劫舍
算法·leetcode·职场和发展