给定一个数字字典,确定哪些集合包含唯一值(即不属于任何其他集合的数字)

Given a dictionary of numbers, determine which sets contain unique values (i.e. numbers that do not belong to any of the other sets)

寻找使用 Objective-C(和 Swift 作为第二偏好)解决此问题的最有效方法。

例如,您有一个包含以下集合的 NSDictionary。

NSDictionary dict = @{ 
   { @"foo", [NSNumber numberWithInt:1] },
   { @"bar", [NSNumber numberWithInt:10] },
   { @"baz", [NSNumber numberWithInt:11] },
   { @"boz", [NSNumber numberWithInt:1] }, 
};

我应该收到一个包含值 (1, 10, 11) 的列表。

提取值(作为数组,[dict allValues])并强制转换为 NSSet (initWithArray:)。

如果你真的想要一个数组,你总是可以强制返回一个数组;但我发现通常人们 认为 他们需要一个数组,而他们真正需要的是一个数组。