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

Java如何访问多维List元素?结合HackerRank 2D Arrays问题

解决方案

二维List访问方法

Java中二维List的元素访问不能使用数组的[行][列]语法,需通过两层get()方法实现,语法为:

// 获取第row行第col列的元素,索引从0开始计数
int val = arr.get(row).get(col);

本题完整实现代码

你可以直接在给定初始代码的bufferedReader.close();前补充如下逻辑即可完成题目要求:

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        List<List<Integer>> arr = new ArrayList<>();

        IntStream.range(0, 6).forEach(i -> {
            try {
                arr.add(
                    Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
                        .map(Integer::parseInt)
                        .collect(toList())
                );
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
        });

        // 补充解题逻辑开始
        int maxSum = Integer.MIN_VALUE;
        // 遍历所有沙漏的左上角坐标
        for (int i = 0; i <= 3; i++) {
            for (int j = 0; j <= 3; j++) {
                // 计算当前沙漏的和
                int currentSum = arr.get(i).get(j) + arr.get(i).get(j+1) + arr.get(i).get(j+2)
                                + arr.get(i+1).get(j+1)
                                + arr.get(i+2).get(j) + arr.get(i+2).get(j+1) + arr.get(i+2).get(j+2);
                // 更新最大值
                if (currentSum > maxSum) {
                    maxSum = currentSum;
                }
            }
        }
        System.out.println(maxSum);
        // 补充解题逻辑结束

        bufferedReader.close();
    }
}

关键逻辑说明

  • 遍历范围限制:6×6矩阵中,沙漏的行、列跨度均为3,因此左上角索引最大只能取3,避免访问越界
  • 最大和初始值设置为Integer.MIN_VALUE,适配输入存在负数的场景,避免全负输入时结果计算错误
  • 单次沙漏和固定取7个点位的数值相加,完全符合题目定义的沙漏结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:09:02