2

NSStringいくつかの繰り返しコピーを持つ の配列が与えられた場合:

AAA
BBB
AAA
AAA
BBB
BBB
BBB
BBB
CCC

最も発生している文字列を取得する最も簡単な方法は何ですか?

4

1 に答える 1

7

を使用NSCountedSetしてから、最大のものを見つけますcountForObject:

NSCountedSet *bag = [[NSCountedSet alloc] initWithArray:myArray];

NSString *mostOccurring;
NSUInteger highest = 0;
for (NSString *s in bag)
{
    if ([bag countForObject:s] > highest)
    {
        highest = [bag countForObject:s];
        mostOccurring = s;
    }
}

結果の確認:

NSLog(@"Most frequent string: %@", mostOccurring);
于 2012-06-21T15:14:13.600 に答える