6

NSArraywith duplicates @[1,2,3,1,1,2,4,5,6];があるとします。

すべての重複を見つけます。これは疑似コードにすることができます。これは、Foundation フレームワーク (を使用しない) の質問というよりは、アルゴリズムの質問NSSetです。

4

2 に答える 2

22

@Lithu が説明したように、 を使用NSCountedSetします。以下のコードを参照してください。

NSArray *arr = [[NSArray alloc]initWithObjects:@(1),@(1),@(2), @(1),nil];
NSCountedSet *cs = [[NSCountedSet alloc] initWithArray:arr];
NSLog(@"object count greater than 1 are");
for(NSNumber *num in cs)
{
    if([cs countForObject:num]>1)
    NSLog(@"%@",num);
}
于 2013-07-17T04:42:04.340 に答える
12

を使用し、 メソッドNSCountedSet に対して 1 より大きい数値を返す要素のみを出力しますcountForObject:

詳細については、これを参照してください

于 2013-07-17T04:33:32.700 に答える