那么如果找到特定行中数字的索引,我会尝试做什么。我找到了min,我需要做的就是找到特定行中数字的索引。
我将值3
和数组cityDis
传递给closestCity(int, int [][])
方法。
我知道第3行的最小值是80(忽略0)。现在我需要的是一种在行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;
}
答案 0 :(得分:1)
return j;
代替您的评论。应该这样做。
“j”的值是您正在寻找的索引!当你返回时,你已经完成了!
答案 1 :(得分:1)
您的索引是您的数组参数,因此,city和j是您的索引
好的,你可以做以下的事情:
if(arr[city][j] == min)
int rowindex = j;
int colindex = city;