有人可以帮我解决这个问题吗?删除矩阵中相同行的最快方法是什么。例如。如果有3个相同的行,则将删除2个。
e.g。
0 1 0
0 1 0
0 1 0
1 1 1
将是
0 1 0
1 1 1
答案 0 :(得分:0)
根据明确定义的排序(例如lexicographical ordering)对矩阵的行进行排序,然后比较相邻的行,以便在找到重复项时删除重复项。如果需要恢复原始行排序,可以跟踪通过排序引起的行排列,然后在消除重复后反转排列 行。
执行任何类型的成对比较而不进行排序将是O(N 2 )时间复杂度以定位重复,而排序首先将是O(N log N)时间复杂度,其中N是行数。
如果您对实施的细节有疑问,您需要告诉我们您到目前为止所尝试的内容,并说明它是如何达不到您的期望的。