我有 2 个数组(A
和 B
),它们包含相似的数据,但有一些不同。我想返回一个仅在 A
中的对象数组和另一个仅在 B
中的对象数组。到目前为止我一直在想:
- 暴力破解和一些优化(这是微不足道的)
- 对数组进行排序并使用二进制搜索。
我还有哪些其他选择?任何语言/解决方案都是公平的游戏。
最佳答案
您可以对两个数组进行排序,然后同时对两个数组进行线性扫描。这将是用于排序的 O(nlogn) 算法和用于扫描/构建新数组的 O(n) 算法。
关于algorithm - 比较算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1258253/