Skip to content

java运行时出现 StackOverflowError 错误 #1160

@pengGgxp

Description

@pengGgxp

java语言进行代码运行,会出现 StackOverflowError 错误,尝试过设置:

java:
  compile: >-
    /usr/bin/bash -c "javac -d /w -encoding utf8 ./Main.java && jar cvf Main.jar
    *.class >/dev/null"
  code_file: Main.java
  target: Main.jar
  execute: /usr/bin/java -cp Main.jar Main
  time_limit_rate: 2
  compile_memory_limit: 1024
  highlight: java astyle-java
  monaco: java
  display: Java
  compile_time_limit: 30000
  version: /usr/bin/javac -version
  validAs:
    ybtbas: java
    srqc: java
    atcoder: java
    loj: java
    bzoj: java
    luogu: java/8

但最终在自测运行的时候,出现报错:

Runtime Error 686.462ms 90000KiB
ExitCode: 1

Exception in thread "main" java.lang.StackOverflowError
	at Main.dfs(Main.java:26)
	at Main.dfs(Main.java:26)
	at Main.dfs(Main.java:26)
       ...

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int n = scan.nextInt();
        int[] coins = new int[n];
        for (int i = 0; i < n; i++) {
            coins[i] = scan.nextInt();
        }
        long[] memo = new long[n];
        System.out.println(dfs(n - 1, memo, coins));
        scan.close();
    }

    public static long dfs(int i, long[] memo, int[] coins) {
        if (i < 0) return 0;
        if (memo[i] != 0) return memo[i];
        int max = 0;
        long res = 0;
        for (int j = i; j > i - 3 && j >= 0; j--) {
            max = Math.max(coins[j], max);
            res = Math.max(res, dfs(j - 1, memo, coins) + (long) max * (i - j + 1));
        }
        memo[i] = res;
        return res;
    }
}

自测数据:

自测数据.txt


hydro 自部署版本
Hydro v5.0.0-beta.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions