1

那么如果在特定行中找到数字的索引,我想做什么。我找到了最小值,我需要做的就是找到特定行中数字的索引。

我将值3和数组传递cityDisclosestCity(int, int [][])方法。

我知道第 3 行的最小值是 80(忽略 0)。现在我只需要一种方法来找到 80 的索引3

有没有办法做到这一点?

int [][] cityDis = { {0, 10, 50, 100,}, {10, 0, 20, 80}, {50, 20, 0, 90,}, {100, 80, 90, 0} };

public int closestCity(int city, int arr [][])
{
        int min = Integer.MAX_VALUE;
        for ( int j = 0; j < arr[city].length; j++ )    //finds the min (disregarding 0)
            if ( (arr[city][j] < min) && (arr[city][j] != 0) )
                min = arr[city][j];
        for ( int j = 0; j < arr[city].length; j++ )
            if ( arr[city][j] = min )
                //this is where i get confused. I just want to find the index for just one row.
        return 0;
}
4

2 回答 2

1
return j;

代替您的评论。那应该这样做。

“j”的值就是你要找的索引!当你回到那个点时,你就完成了!

于 2013-06-14T23:52:54.450 回答
1

您的索引是您的数组参数,因此 city 和 j 是您的索引

好的,您可以执行以下操作:

if(arr[city][j] == min) 
    int rowindex = j;
    int colindex = city;
于 2013-06-14T23:54:49.447 回答