0

2 次元配列から最適な均一な 1 次元配列を選択する方法は?

私は2つの2次元配列を持っています:11 x 10 例:

  4 8 12 12 12 14 16 18 4 1 0 
  5 7 11 12 13 11 15 18 3 2 1
  8 3 12 14 18 19 20 21 8 5 4 ,
  8 2 11 12 17 17 19 20 7 4 3 ,
  4 7 11 11 11 15 17 19 5 1 1 ,
  3 8 11 13 11 15 14 17 4 1 0 ,
  4 7 12 13 13 14 16 19 3 1 1 ,
  5 9 11 12 13 15 17 19 5 0 1 ,
  9 7 25 22 24 18 23 17 3 3 3 ,
  4 8 13 13 13 15 17 17 5 2 0 ,

ここでは、サイズが 11x10 の 2 次元配列があります。分析が必要で、共通の like を持つ共通の 1 次元配列を見つける必要があります。

最良のクロージング番号とその差を見つけ、配列内の対応するすべての列に対して続けます。

以下の回答は次のようになります-対応する非常に列を見つけて、次の行の列と比較します-(5)以下に違いがある場合は、2つの行の両方の列が同じであり、同じ行の次の列を処理します..処理まで少なくとも 5 つの近くの一致がある 1 行を見つける

4 8 11 12 13 13 15 18 4 1 0 
4

1 に答える 1

0

こんなことしてみませんか

int[] count(int[][] array)
int result[11];

for(int x = o; x<= 11;x++)
{
int temp[10];
 for(int y = o; y<= 10;y++)
{
 temp[y] = array[y][x];
}
result[x] = getHighest(temp);
}
return result;
}

int getHighest(int[] array)
{
 int size = array.length;
 int[size][1] temp; 

 for(int x; x<= size;x++)
{
 int z = array[x];
 temp[z][0]++;

}
int highest = -1;
for(int z; z<= size;z++)
{
 int z = array[x];
 int h = temp[z][0];
 if(h > highest)
 {
  highest = h;
 }
}
return highest;
}

このようなものですが、私のC ++は少し錆びているので、間違いがあれば申し訳ありません。

于 2012-05-16T06:54:29.587 に答える