如何優化此嵌套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