急求,判断数组的每一行是否都相等,和每一列是否都相等?

比如 0 0 2 2
0 0 2 2
0 0 2 2
0 0 2 2
如果他的每一列都是相同的元素则返回1,否则返回0,
最好贴出主要代码。

可以考虑先用二分法,对需要作出比较的两个单独的行或列排序,然后对二者元素作一一判断,或简单的做减法,判断结果是否为零向量,一般的平台都开始提供排序函数了,如m语言中的sort,零向量的判断也很简单,直接用norm判断向量范数是否为零。但单独的向量之间的比较函数比较少见,我之前遇到的并非数组(叫矩阵可能更贴切)中的行或列,所以最开始还需要判断长度是否相等,然后才进行上述步骤的。

sort:排序函数,返回排序后的向量
norm:求向量范数
要比较第i列和第j列,自然语言描述为:
{a=sort(i列);b=sort(j列);如果 norm(a-b)为零,则i列等于j列,返回1,否则不等返回0}
温馨提示:答案为网友推荐,仅供参考
相似回答