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

Java二维数组(matrix)逐行求和并删除最小和行生成新矩阵问题

Java 实现移除矩阵行和最小行的方案

实现逻辑

  • 先扫描输入得到原始二维矩阵,同时计算每行元素和,存入一维数组rowSums,数组下标对应原矩阵的行号
  • 遍历rowSums找到最小值对应的行索引,若存在多个行和同为最小值,默认取第一个出现的行
  • 生成新矩阵:新矩阵行数为原矩阵行数减1,列数和原矩阵一致,遍历原矩阵,跳过行和最小的行,将剩余行拷贝到新矩阵即可

完整代码示例

import java.util.Scanner;

public class MatrixProcess {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 1. 输入矩阵的行和列
        System.out.print("请输入矩阵的行数:");
        int rows = scanner.nextInt();
        System.out.print("请输入矩阵的列数:");
        int cols = scanner.nextInt();
        
        int[][] originalMatrix = new int[rows][cols];
        int[] rowSums = new int[rows];
        
        // 2. 扫描输入矩阵,同时计算行和
        System.out.println("请输入矩阵元素,按行输入:");
        for (int i = 0; i < rows; i++) {
            int sum = 0;
            for (int j = 0; j < cols; j++) {
                originalMatrix[i][j] = scanner.nextInt();
                sum += originalMatrix[i][j];
            }
            rowSums[i] = sum;
        }
        
        // 3. 找到行和最小的行索引
        int minSumIndex = 0;
        for (int i = 1; i < rowSums.length; i++) {
            if (rowSums[i] < rowSums[minSumIndex]) {
                minSumIndex = i;
            }
        }
        
        // 4. 生成不包含最小行的新矩阵
        int[][] newMatrix = new int[rows - 1][cols];
        int newRow = 0;
        for (int i = 0; i < rows; i++) {
            if (i != minSumIndex) {
                // 拷贝当前行到新矩阵
                System.arraycopy(originalMatrix[i], 0, newMatrix[newRow], 0, cols);
                newRow++;
            }
        }
        
        // 5. 打印验证结果
        System.out.println("移除行和最小行后的新矩阵:");
        for (int[] row : newMatrix) {
            for (int num : row) {
                System.out.print(num + "\t");
            }
            System.out.println();
        }
        scanner.close();
    }
}

特殊场景说明

如果需要删除所有行和等于最小值的行,只需修改新矩阵生成逻辑:

  1. 先统计行和等于最小值的行数,计算新矩阵的行数 = 原行数 - 最小行数量
  2. 遍历原矩阵时,跳过所有行和等于最小值的行即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:36:01