Wir alle wissen, dass viele Übungen nur eine Körperhälfte betreffen. Sie müssen sie also zweimal machen, einmal für jede Seite. Solche Übungen haben zwei Gegenstücke, eines für die linke und eines für die rechte Seite. Es ist jedoch nicht erforderlich, die beiden Gegenstücke nacheinander auszuführen, solange die Übungen für beide Seiten in derselben Reihenfolge ausgeführt werden. Sie können in Ihrem Übungsprogramm auch zwischen den Seiten wechseln, aber es wäre nicht sinnvoll, einige Übungen mit der einen Seite und einige mit der anderen Seite zu beginnen.
Herausforderung
Ein Übungsteil ist eine Liste von Ganzzahlen ungleich Null, wobei die zweite Hälfte aus den Ganzzahlen der ersten Hälfte besteht, die in derselben Reihenfolge negiert wurden und die Vorzeichen der Ganzzahlen in jeder Hälfte gleich sind. Das Vorzeichen der ersten Hälfte eines Übungsteils ist dessen führende Seite .
Ein Übungssatz besteht aus null oder mehr Übungsteilen, bei denen dieselbe führende Seite miteinander verknüpft ist.
Bestimmen Sie anhand einer Liste von Ganzzahlen ungleich Null als Eingabe, ob es sich um einen Übungssatz handelt. Die ganzen Zahlen sind nicht unbedingt eindeutig. Die Länge der Liste ist nicht unbedingt gerade.
Ihre Lösung verwendet möglicherweise keine der Standardlücken . Sie können zwei verschiedene konsistente Werte für die Ausgabe verwenden. Das ist Code-Golf , also gewinnt die kürzeste Lösung.
Beispiele
[-5, -1, -7, -6, -5, 5, 1, 7, 6, 5]ist ein Beispiel für einen Übungsteil. Die erste Hälfte ist [-5, -1, -7, -6, -5]und die letzte Hälfte ist [5, 1, 7, 6, 5], die jeweils eine ganze Zahl in der ersten Hälfte negiert. Außerdem haben die Ganzzahlen der ersten Hälfte alle dasselbe Vorzeichen. Die führende Seite dieses Übungsteils ist -1.
[3, 6, 5, -3, -6, -5, 1, 6, 4, 3, -1, -6, -4, -3]ist ein Beispiel für ein Übungsset. Die einzelnen Übungsteile sind [3, 6, 5, -3, -6, -5]und [1, 6, 4, 3, -1, -6, -4, -3]und beide haben eine führende Seite 1.
[4, -4, -5, 5]Obwohl es nur aus gültigen Übungsteilen besteht, handelt es sich nicht um ein Übungsset, da der erste Teil [4, -4]eine führende Seite hat 1, während der zweite Teil [-5, 5]eine führende Seite hat -1.
Testfälle
Gültige Testfälle:
[]
[1, -1]
[1, -1, 1, -1]
[-6, 6, -5, -4, -3, 5, 4, 3]
[-1, -5, -8, 1, 5, 8, -7, -6, -5, -3, 7, 6, 5, 3]
[-1, -5, -8, 1, 5, 8, -1, 1]
Ungültige Testfälle:
[1]
[1, -2]
[1, 2, -3, -1, -2, 3]
[1, 2, 3, -3, -1, -2]
[-1, -5, -8, 1, 5, 8, 7, 6, 5, 3, -7, -6, -5, -3]
[1, 2, 3, 5, 1, 2, 3, 5]
[1, 2, -5, 4, -6, 5, 5, -6]
[1, 2, -1, 3, -2, -3]
[1, -2, 1]
[-1, -1, 1]
[1, -1, 1]