线性递推通用模板

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

相关推荐
17(无规则自律)2 小时前
DFS:带重复项的全排列,程序运行全流程解析
c++·算法·深度优先
coNh OOSI2 小时前
Spring Boot问题总结
java·spring boot·后端
AI棒棒牛2 小时前
SCI核心论文剖析:ICSD-YOLO:面向工业现场安全的实时智能检测算法
算法·yolo·目标检测·计算机视觉·目标跟踪·yolo26
Dream of maid2 小时前
Python基础 6 (面向对象)
开发语言·python
ISkp3V8b42 小时前
基于项目工程构建SBOM(软件物料清单)的研究
java·visual studio
郝学胜-神的一滴2 小时前
「栈与缩点的艺术」二叉树前序序列化合法性判定:从脑筋急转弯到工程实现
java·开发语言·数据结构·c++·python·算法
她说..2 小时前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
Mr_Tony2 小时前
Swift 中的 Combine 框架完整指南(含示例代码 + 实战)
开发语言·swift
计算机学姐2 小时前
基于SpringBoot的宠物店管理系统
java·vue.js·spring boot·后端·spring·java-ee·intellij-idea