objective-c - 两个数组的对称差异

标签 objective-c algorithm arrays math set

我有两个 NSArray 电影对象,分别称为 DVD 和 VHS。我想找到这些数组的对称差异。我想知道哪些电影在 VHS 中购买而不是在 DVD 中,哪些电影在 DVD 中但不是 VHS。

谁能告诉我是否有快速的算法来解决它(最好是在 C 或 Objective-C 中)?如果我使用字典,解决起来会更快/更容易吗?这种问题叫什么(或者只是“对称差异”)?

谢谢。

最佳答案

使用 NSSet 而不是 NSArray 可能会获得更好的结果,具体取决于您是否希望在列表中允许重复项。

NSSet 为您提供了类似 intersectsSet: 的方法,它应该可以满足您的需求。

如果需要联合功能,可以使用 NSMutableSet

关于objective-c - 两个数组的对称差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2288266/

相关文章:

objective-c - 通过 API 检索签名身份列表

ios - 如何转换WithView并使原始 View 在层次结构中更高

javascript - 用 O(n) 求解第七个

ios - 保存用户默认值 [iOS]

objective-c - 如何阻止 UIButton 的 imageView 在按下时发生变化?

algorithm - 软件开发中的非确定性有限状态机?

c# - 扫雷机 : Improve mine random locate algorithm?

java - list.toArray() 同意将 A 类型的项目传输到 B[] 类型的数组

arrays - 从多个变量创建数组

PHP FOREACH ARRAY问题