Ich habe zwei Arrays vom Typ CGPoint (allPos
und selectedPos
) erstellt. Eins enthält das andere. Bitte beachten Sie ein Beispiel von ihnen unter:Wie findet man alle freien Positionen beim Vergleich eines Arrays mit einem anderen?
allPos = [point1,..., point10]
selectedPos = [point1, point4, point6, point7, point9, point10]
Alle Punkte haben die gleiche y
koordinieren und ich habe angeordnet, um sie von der kleinsten zur größten.
Wie kann ich eine Reihe von Positionen von allPos
finden, die nureiner freien Position in Folge oder nur eine in-zwischen freier Position zu haben, wenn selectedPos
verglichen? Von meinem obigen Beispiel das wäre
[point5, point8]
danke, aber es löst mein Problem nicht vollständig. Ihr Code wird alle freien Positionen bereitstellen, aber ich bin nur an denen interessiert, die einzelne freie Plätze haben. Mit meinem Beispiel von 'allPos' und' selectedPos' wird der von Ihnen angegebene Code zu '[point2, point3, point5, point8]' führen. Ich brauche nur die einzelnen freien Räume (keine aufeinanderfolgenden freien Räume), die "[Punkt5, Punkt8]" sind. Ich hoffe, das erklärt die Dinge besser – Hilarious404
Es ist schwer zu verstehen, könnten Sie Punkte mit echten Daten beschreiben –
Sagen, ich habe zwei 'Int' Arrays' allPos = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 'und' selectedPos = [1, 4, 6, 7, 9, 10] 'angeordnet in einer gegebenen Reihenfolge (aufsteigend). Wenn "allPos" und "selectedPos" verglichen werden, sind die nicht ausgewählten Elemente "[2, 3, 5, 8]". '2',' 3' sind aufeinanderfolgende Elemente und ich möchte keine aufeinanderfolgenden Elemente in meinen Ergebnissen. Aber "5" und "8" sind nicht aufeinander folgend. Also bin ich daran interessiert, dass [5, 8] mein letztes gefiltertes Array ist, da sie die einzigen nicht ausgewählten Elemente sind, die nicht aufeinanderfolgend sind. – Hilarious404