A和B是两个数组,其中n个元素的范围为1到n ^ 2.
1.如何检查A的元素在O(n)时间和O(n)空间中是否不同
2.如何检查A和B在O(n)时间和O(n)空间中是否有共同元素。
两种算法都不应使用散列集或任何其他高级数据结构。 A和B只是简单的数组。
答案 0 :(得分:0)
如果对数组进行排序,则两个操作都很容易在线性时间内完成。 n ^ 2的界限允许线性时基数排序(基数n)。
答案 1 :(得分:0)
您可以以类似合并的方式在O(n)时间内比较两个已排序的数组。
但是可以对O(n)中给定限制的数组进行排序吗?是的。 Cormen等算法课程包含关于这种排序的分配(n ^ 2范围内的整数数组),用于基数/数字排序。
问题看起来像是家庭作业,所以我认为这个线索就足够了。