线性递推通用模板

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

相关推荐
黄贵根4 小时前
JavaScript实现教培行业意向登记系统
开发语言·javascript·ecmascript
zzzll11116 小时前
Claude Code离线安装方案揭秘
开发语言·php
wabs6667 小时前
关于图论【卡码网117.软件构建的思考】
数据结构·算法·软件构建·图论·卡码网
mifengxing7 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
wling03017 小时前
vasp虚频计算-python脚本
开发语言·windows·python·vasp计算
郝学胜-神的一滴8 小时前
Qt 高级编程 040:按钮悬浮弹出滑块弹窗的完整攻略
开发语言·c++·qt·软件工程·用户界面
Tongzhi20268 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析
运维·数据结构·科技·算法·贪心算法
Wang's Blog8 小时前
AI Agent白手起家30: 动态示例选择器之根据长度选择 Few Shot 示例
算法
xrandzj8 小时前
Python面向对象编程入门:类、实例、初始化与封装实践
开发语言·python
DLYSB_9 小时前
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级
开发语言·后端·golang·报警灯