0

如何从二维阵列中挑选出最好的统一一维阵列?

我有两个二维数组: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 的 2d 数组 - 需要分析并且必须找出具有共同点的常见 1d 数组。

找到最佳关闭数字及其差异 - 并继续为数组中的所有相应列做。

下面的答案应该是这样的 - 找到对应的非常列并与下一行列进行比较 - 如果它在 (5) 以下有一些差异,则两行的两列都相同并处理同一行的下一列..处理直到找到至少附近有 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 回答