如何从2d阵列中选择最好的均匀1d阵列?
我有两个2d数组: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 ,
这里我们有2d大小为11x10的数组 - 需要分析并且必须找出常见的1d数组。
找到最佳结算数及其差异 - 并继续对数组中的所有相应列进行操作。
下面的答案应该是 - 找到相应的非常列并与下一行列进行比较 - 如果它在下面有一些差异(5),则两行的两列相同并处理同一行的下一列。 .process直到找到它至少附近有5个匹配的1行
4 8 11 12 13 13 15 18 4 1 0
答案 0 :(得分: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 ++有点生疏,如果有任何错误就很抱歉。