7

200,000 語で満たされた NSArray があり、各語の長さがわかりません。その配列に含まれる単語の最大長を知る必要があります。

たとえば、配列が {"dog","person","amazing"} の場合、この配列に含まれる単語の最大長は 7 ("amazing") になります。

どうすればいいですか?

4

2 に答える 2

24

配列の繰り返しを意味するすべてのメソッドに加えて、コレクション演算子 valueForKeyPath:を使用してこれを簡単に実行できます。@max

NSNumber* maxLength= [array valueForKeyPath: @"@max.length"];
于 2013-07-23T16:35:17.297 に答える
12

あなたはこれを試すことができます

最長の語長を見つけるには

NSArray *wordList = [NSArray arrayWithObjects:@"dog", @"person", @"amazing", nil];

int maxLen, strLen;
for(NSString *str in wordList) {
    strLen = [str length];
    if ( strLen > maxLen) {
        maxLen = strLen;
    } 
}
NSLog(@"Longest Word Length = %d", maxLen);

最も長い単語を見つけるには

NSArray *wordList = [NSArray arrayWithObjects:@"dog", @"person", @"amazing", nil];

NSString *longestWord = nil;
for(NSString *str in wordList) {
    if (longestWord == nil || [str length] > [longestWord length]) {
        longestWord = str;
    }
}
NSLog(@"Longest Word = %@", longestWord);
于 2013-07-23T16:39:00.843 に答える