如何从2d数组中的所有行获取最大和值的索引

时间:2017-11-29 22:10:20

标签: java

 0 1 2 3

0  5 10 1 5 
1  1 2 1 15 
2  8 7 5 3 
3  6 1 12 1 

这是一个二维数组,我需要找到所有行的总和,并且输出应该打印最高和值的索引。

我的代码给了我第2行的总和23,但我想要答案2(索引)而不是23(总和)

public static int indexofHighestRowSum (int[][] a)
   {
        int i,j, sum, n=0;
        for (i=0; i<a.length; i++)
        {
            sum =0;
            for (j=0; j<a[0].length; j++)
             {
                  sum += a[i][j];
             }

             if (sum >n)
               n=sum;`
        }
        return a[index];
    }

1 个答案:

答案 0 :(得分:0)

您需要跟踪当前最高金额旁边的索引。然后你可以返回遇到的最高行的索引:

public static int indexofHighestRowSum(int[][] a) {
    int i, j, sum, n = 0, index = 0;
    for (i = 0; i < a.length; i++) {
        sum = 0;
        for (j = 0; j < a[0].length; j++) {
            sum += a[i][j];
        }

        if (sum > n) {
            n = sum;
            index = i;
        }
    }

    return index;
}