【发布时间】:2015-05-06 18:07:12
【问题描述】:
我最近不得不解决以下算法问题,这让我很困惑。
假设您有一个包含整数的集合数组。写一个 返回所有数字都不在任何集合中的所有集合的函数 其他设置。
示例 {0,4,9}、{3,4,5}、{6,7,8}
结果 {6,7,8}
代码应该是 Objective-C 或 Swift。
[编辑]
到目前为止,我想出了类似的东西,但无法真正完成。
- (NSArray*) getDisjointedSets:(NSArray*)sets {
NSArray* resultedSet;
NSMutableArray* indexDoesntExistInSets = [NSMutableArray array];
[sets enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSArray* nextIndexArray = [sets objectAtIndex:idx+1];
NSNumber* numberIndex = obj;
[nextIndexArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSNumber* numberNextIndex = obj;
if (numberIndex.intValue == numberNextIndex.intValue) {
// number exists in the next set, continue
*stop = YES;;
} else {
[indexDoesntExistInSets addObject:numberIndex];
}
}];
}];
return resultedSet;
}
【问题讨论】:
-
你有什么问题?你试过什么?你有什么问题?或者你只是想让别人给你代码?
-
就是上面的问题,我解决不了,所以我在寻找答案来理解它。
-
发布您的尝试并解释您遇到的问题。
-
编辑了一些我正在尝试完成的代码。
-
集合中的数字有限制吗?套数?
标签: objective-c algorithm set