华为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;
    }

}
相关推荐
云烟成雨TD12 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
Navigator_Z12 小时前
LeetCode //C - 1089. Duplicate Zeros
c语言·算法·leetcode
JAVA96512 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处12 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
小江的记录本13 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处14 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫14 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java
一起学开源14 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
云泽80814 小时前
C++ 可调用对象通关指南:深度解析 Lambda 表达式、function 包装器与 bind 绑定器
开发语言·c++·算法
wlsh1515 小时前
Go 迭代器
算法