You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java实现五数取四求和最值仅通过5个测试用例排查求助

问题排查结果

核心错误点

  • 变量类型选择错误导致整数溢出:你的代码中sum、min、max都使用了int类型,Java中int的最大存储值为2147483647,当输入的5个正整数总和超过这个阈值时,计算结果会溢出出错,这和题目要求的「按长整数格式输出」的要求不符。
  • 核心计算逻辑(总和减去最大值得到4数最小和、总和减去最小值得到4数最大和)是正确的,无需调整。

修正后代码

public static void miniMaxSum(List<Integer> arr) {
    Collections.sort(arr);
    long sum = 0;
    long smallest = arr.get(0);
    long largest = arr.get(4);
    for (int i = 0; i < arr.size(); i++) {
        sum += arr.get(i);
    }
    long min = sum - largest;
    long max = sum - smallest;
    System.out.print(min + " " + max);
}

补充说明

你自测时未复现问题是因为使用的测试用例数值总和没有超出int的存储上限,HackerRank的测试用例包含了大数值场景,触发了溢出错误。

内容的提问来源于stack exchange,提问作者user16225412

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:57:03