【发布时间】:2010-09-28 12:06:28
【问题描述】:
Array 1 | Array 2
=================
1 | 2
2 | 3
3 | 4
5 | 5
| 6
什么是“同步”或将数组 2 合并到数组 1 中的好算法?需要发生以下情况:
- 应将数组 2 中但数组 1 中未包含的整数添加到数组 1。
- 两个数组中的整数可以单独保留。
- 应从 Array 1 中删除 Array 1 但不在 Array 2 中的整数。
我最终会在 Obj-C 中对此进行编码,但我真的只是在寻找一种有效算法的伪代码表示来解决这个问题,所以请随意以您喜欢的任何形式提出答案.
编辑:
如果不提供背景故事,我需要的最终结果有点难以解释。我有一个 Cocoa 应用程序,它有一个核心数据实体,其数据需要使用来自 Web 服务的数据进行更新。我不能简单地用数组 2 的内容(从 web 解析成数组的数据)覆盖数组 1(核心数据实体)的内容,因为数组 1 与我的应用程序中的其他核心数据实体有关系。所以基本上重要的是,两个数组中包含的整数不会在数组一中被覆盖。
【问题讨论】:
-
如果您根据示例输入写出预期的答案,您会看到@Yuliy 为您提供了答案。否则,考虑集合论——集合并集,集合差;之类的东西。这将适用于您的问题的其他变体。
-
后期编辑:那么有一些信息你还没有给我们;也许你还没有意识到这很重要? 3-check 算法不是您想要的,或者还有其他重要的东西,比如数组中的位置。但正如所写,您要求 Array1 中的 Array2 的副本。
-
(续):也许如果您向我们展示结果应该与 Array2 的副本有何不同,那么我们会更好地理解您的问题。
标签: objective-c arrays