华为OD机试-猴子爬山-dp(JAVA 2025A卷)

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

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            int n = sc.nextInt();
            // dp
            System.out.println(solve1(n));
            // double pointer
            System.out.println(solve2(n));
        }
    }

    private static int solve1(int n) {
        int[] dp = new int[n+1];
        // 初始化
        for(int i=0;i<3;i++){
            dp[i] = 1;
        }
        for(int i =3;i<=n;i++){
            dp[i] =dp[i-3]+dp[i-1];
        }
        return dp[n];
    }

    private static int solve2(int n) {
        int f1=1,f2=1,f3=2,f4 = 0;
        for(int i=4;i<=n;i++){
            f4=f3+f1;
            f1=f2;
            f2=f3;
            f3=f4;
        }
        return f4;
    }

}
相关推荐
森焱森31 分钟前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机
凯基迪科技39 分钟前
exe软件壳的分类----加密保护壳
java
★Orange★42 分钟前
Linux Kernel kfifo 实现和巧妙设计
linux·运维·算法
尘世闲鱼1 小时前
解数独(C++版本)
开发语言·c++·算法·解数独
qqxhb1 小时前
零基础数据结构与算法——第四章:基础算法-排序(中)
数据结构·算法·排序算法·归并·快排·堆排
wuxuanok1 小时前
Web后端开发-分层解耦
java·笔记·后端·学习
kyle~1 小时前
C/C++字面量
java·c语言·c++
neoooo2 小时前
别慌,Java只有值传递——一次搞懂“为啥我改了它还不变”!
java·后端·spring
秋难降2 小时前
Python 知识 “八股”:给有 C 和 Java 基础的你😁😁😁
java·python·c
wuxuanok2 小时前
Web后端开发-请求响应
java·开发语言·笔记·学习