我有一个字符串数组,我只想从中提取具有唯一字符集的字符串。 (例如,“asdf”和“fdsa”将被认为是多余的)。这是我目前使用的方法:
NSMutableArray *uniqueCharSets = [[NSMutableArray alloc] init];
NSMutableArray *uniqueStrings = [[NSMutableArray alloc] init];
for (NSString *_string in unique) {
NSCharacterSet *_charSet = [NSCharacterSet characterSetWithCharactersInString:_string];
if (![uniqueCharSets containsObject:_charSet]) {
[uniqueStrings addobject:_string];
[uniqueCharSets addObject:_charSet];
}
}
这似乎可行,但速度非常慢且占用大量资源。谁能想到更好的方法来做到这一点?
最佳答案
- 使用
NSDictionary
,将每个字符串的字典顺序映射到输入字符串的NSArray
:(例如adfs
=>[afsd, asdf, ...]
) - 遍历字典,打印出只有单元素数组值的键(或它们的值)
关于objective-c - 检查 Objective-C 中相同字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8696126/