如何优化此嵌套for循环?如何优化此嵌套for循环?
程序应该检查从单词文本文件创建的数组中的每个单词,如果它大于8个字符,则将其添加到goodWords
数组中。但需要注意的是,我只希望词根是goodWords数组中,例如:
如果映入眼帘被添加到阵列中,我不想打招呼或问候或迎宾员等
NSString *string = [NSString stringWithContentsOfFile:@"/Users/james/dev/WordParser/word.txt" encoding:NSUTF8StringEncoding error:NULL];
NSArray *words = [string componentsSeparatedByString:@"\r\n"];
NSMutableArray *goodWords = [NSMutableArray array];
BOOL shouldAddToGoodWords = YES;
for (NSString *word in words)
{
NSLog(@"Word: %@", word);
if ([word length] > 8)
{
NSLog(@"Word is greater than 8");
for (NSString *existingWord in [goodWords reverseObjectEnumerator])
{
NSLog(@"Existing Word: %@", existingWord);
if ([word rangeOfString:existingWord].location != NSNotFound)
{
NSLog(@"Not adding...");
shouldAddToGoodWords = NO;
break;
}
}
if (shouldAddToGoodWords)
{
NSLog(@"Adding word: %@", word);
[goodWords addObject:word];
}
}
shouldAddToGoodWords = YES;
}
这比我的版本快了50倍,做得很好;) – Jasarien 2010-08-06 20:37:57
@Jasarien你可能想做的不仅仅是'hasPrefix:',因为'hasPrefix:'是区分大小写的...... – 2010-08-06 20:54:02
它很好用。整个文件由小写字母组成,所以它不是问题。 – Jasarien 2010-08-06 23:47:10