我的策略如下:
1.首先使用O(N)时间的确定性选择算法来找到A的最大值和B的最大值。如果它们的最大值不同,我们可以自动声明它们不相同;否则,进入步骤2。
2.将两个数组合并在一起,创建一个大小为2N的数组C。
3.使用计数排序算法,通过创建一个大小为Max(A)的数组D并扫描C并提高适当索引的计数器(我们不需要完整地完成计数排序算法,我们只需要这个中间步骤)。
4.扫描D数组,如果任何D[i] = 1,则我们知道这些数组不相等,否则它们相等。
声明:时间复杂度为O(N),空间没有限制。
这是一个正确的算法吗?