任意の数のNSArrayオブジェクトを取得し、その配列のメンバーの可能なすべての完全な組み合わせのネストされた配列を返すメソッドを記述したいと考えています。ネストされたNSArray内のオブジェクトからの完全な2者グラフ
私はこの質問に答えるように言われたので、私はbipartite graph、より正確にはcomplete bipartite graphを作成しようとしています。
私は2つのアレイ持っていたのであれば、例えば、:
NSArray *nestedArray = [NSArray arrayWithObjects:a1, a2, nil];
、すべての可能な組み合わせの配列が返されました:
NSArray *a1 = [NSArray arrayWithObjects:@"Blue", @"Green", @"Yellow", nil];
NSArray *a2 = [NSArray arrayWithObjects:@"Apple", @"Orange", @"Pear", nil];
を私はそれらの配列の配列を取った方法を望みます、同じ長さの。これらの配列内のオブジェクトの数がサイズで育ったよう
[
[@"Blue", @"Apple"],
[@"Blue", @"Orange"],
[@"Blue", @"Pear"],
[@"Green", @"Apple"],
[@"Green", @"Orange"],
[@"Green", @"Pear"],
[@"Yellow", @"Apple"],
[@"Yellow", @"Orange"],
[@"Yellow", @"Pear"]
]
、その結果の数は、指数関数的に私は信じています:だから、この例では、私は大体このように見えた配列をしたいと思います。私はおそらくこのメソッドをNSArrayのカテゴリにします。また、結果はすべて同じ長さにしたいと思います。つまり、3つのソース配列がある場合、メソッドによって返されるネストされた配列の長さはそれぞれ3でなければなりません。
これを行う最もエレガントな方法のアイデアですか?
あなたはこれまで何をしていますか? – Anurag
あなたが望むのは、組み合わせではなく、順列ではなく、配列のサイズが大きくなるにつれてその数が指数関数的に増加するのではなく、*配列の数が増加するためです。 –
@larsmans、私はあなたのポイントを参照してください - 新しいタイトルが明確ですか? –