【发布时间】:2011-08-16 22:36:26
【问题描述】:
我有两个数组:
符号 - 较小的数组 fetchedSymbolsArray - 更大的数组
如何检查符号中的内容是否也在 fetchedSymbolsArray 中?
假设
symbols = ["AAPL", "GOOG", "YHOO"];
fetchedSymbolsArray = ["AAPL", "GOOG", "YHOO", "MSFT"];
我想检查是否有重复项,然后将 fetchedSymbolsArray 中的任何其他元素添加回符号中。在这种情况下,将添加 MSFT。
【问题讨论】:
-
问题出在哪里?效率?
-
您需要更具体。是否要检查较小数组中的所有项目是否都在较大数组中?顺序重要吗?你试过什么?
-
ISTM 您希望与主题标题所暗示的相反:您想检查较大数组中的哪些值不在较小数组中,如果找到,请将其添加到较小数组中。为什么不简单地将较大的数组复制到较小的数组中呢?为什么不做两个集合而不是数组?
-
我需要能够维护两个不同的集合。此外,较小的数组可能包含较大数组没有的元素。我需要能够合并这些。你能给我举个例子吗?很难做到这一点。
-
如果你有两个 sets 项,那么使用 NSSet 或 NSMutableSet 而不是 NSArray 或 NSMutableArray。它们将防止重复,并有办法找到联合、节、差异等。当然你也可以使用数组,但是你必须自己做所有这些。此处的答案显示了如何做到这一点。
标签: objective-c arrays algorithm search