NSString
いくつかの繰り返しコピーを持つ の配列が与えられた場合:
AAA
BBB
AAA
AAA
BBB
BBB
BBB
BBB
CCC
最も発生している文字列を取得する最も簡単な方法は何ですか?
NSString
いくつかの繰り返しコピーを持つ の配列が与えられた場合:
AAA
BBB
AAA
AAA
BBB
BBB
BBB
BBB
CCC
最も発生している文字列を取得する最も簡単な方法は何ですか?
を使用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);