线性递推通用模板

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循环里面的范围必须用<=

相关推荐
未秃头的程序猿3 小时前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
用户298698530143 小时前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉3 小时前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
05Kevin3 小时前
lk每日冒险题--数据结构6.27
算法
咖啡八杯4 小时前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手4 小时前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
Java内核笔记4 小时前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端
荣码4 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
唐青枫5 小时前
Java 虚拟线程实战指南:从 Thread API 到 Spring Boot 高并发应用
java