2016-10-05 3 views
0

Ich habe eine Kombinationsfrage. Ich habe diese App "Secret Santa" entworfen, mit der Nutzer Geschenkgruppen beitreten können, in denen sie Geschenke für einen bestimmten Dollarbetrag austauschen. Wenn sich ein Benutzer anmeldet, kann er alle Gruppen, in denen er sich befindet, sowie die Mitglieder in jeder Gruppe sehen. Jetzt möchte ich die Gruppen so gestalten, dass jede Gruppe zufällig Leute zum Schenken zusammenbringt. Ich möchte mit dem Algorithmus arbeiten, damit ich garantiert bin, dass jeder in der Gruppe sowohl eine Person erhält, um Geschenke zu geben, als auch eine Person, um Geschenke zu erhalten. Wenn zum Beispiel eine Gruppe drei Mitglieder hat, [A, B, C], möchte ich A->B, B->C, C->A.Kombinationen - Leute aus Array zusammenfügen

Irgendwelche Ideen, wie das funktionieren könnte? Es spielt keine Rolle, ob nur ein oder zwei Arrays verwendet werden. Jede Hilfe oder Vorschläge wird geschätzt!

+0

Also, was ist das Problem? Hast du irgendwas probiert? – taguenizy

+1

so einfach einen Ring austauschen. –

+0

Diese Frage betrifft Algorithmen und keine Programmiersprachen. Alle Programmiersprachen-Tags sollten entfernt werden. –

Antwort

1

Lets n - Anzahl der Personen in einer Gruppe also nur Paare von {persons[i], persons[(i+1)%n]} machen für alle Personen

+0

Keine Zufälligkeit hier !!! –

+2

Führen Sie zunächst einen zufälligen Shuffle durch. Ansonsten ist das in Ordnung. –

Verwandte Themen