Herausforderung:
Eingang:
Eine sortierte Liste positiver Ganzzahlen.
Ausgabe:
Die Anzahl der Ganzzahlen, die sich noch auf dem exakt gleichen Index befinden, nachdem die Ziffern in jeder Ganzzahl mehrmals nach links gedreht und die geänderte Liste erneut sortiert wurden.
Beispiel:
Eingabe: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Ausgabe (0-basierte Indizierung): 6
Ausgabe (1-basierte Indizierung):5
Warum?
0-basierte Indizierung:
After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471]
Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Input indices: 0 1 2 3 4 5 6 7 8 9 10 11
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Modified indices: 0 2 1 3 5 4 7 6 8 9 10 11
Equal indices: ^ ^ ^ ^ ^ ^
So the output is: 6
1-basierte Indizierung:
After rotating each: [8,49,37,021,925,762,2278,3383,2179,37846,94878,8874717]
Sorted again: [8,(0)21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Input indices: 1 2 3 4 5 6 7 8 9 10 11 12
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Modified indices: 1 4 3 2 6 5 9 7 8 10 11 12
Equal indices: ^ ^ ^ ^ ^
So the output is: 5
Herausforderungsregeln:
- Die Eingabeliste enthält garantiert nur positive ganze Zahlen.
- Die Eingabeliste wird garantiert von der niedrigsten zur höchsten sortiert.
- Die Eingabeliste enthält garantiert mindestens zwei Einträge.
- Wie Sie oben sehen können, ist sowohl eine 0-basierte als auch eine 1-basierte Indizierung zulässig. Bitte geben Sie in Ihrer Antwort an, welche von beiden Sie verwendet haben, da die Ausgaben entsprechend unterschiedlich sein können!
- Führende
0
s nach ignoriert Drehen, die mit dem 1-basierten Beispiel gesehen werden können oben, wobei die ganze Zahl102
wird021
nach dem Drehen, und wird dann behandelt , als21
. - Ganzzahlen sind in der Eingabeliste garantiert eindeutig und bleiben auch nach Abschluss der Umdrehungen eindeutig.
- Beachten Sie, dass wir nur die Positionen der gedrehten ganzen Zahlen in Korrelation mit den Positionen der Eingabe betrachten, nicht mit den Werten der Eingabeliste. Um zu verdeutlichen, was ich damit meine: Mit der Eingabeliste
[1234,3412]
und der 1-basierten Indizierung wird die Liste[2341,1234]
nach dem Drehen jeder ganzen Zahl so oft indexiert, bis sie sortiert wird[1234,2341]
. Obwohl sowohl die ursprüngliche Eingabeliste als auch die gedrehte Liste die Ganzzahl1234
an der führenden Position enthalten, sind sie nicht gleich! Der1234
wurde3412
vorher gedreht . Die 1-indizierte Ausgabe für diese Eingabeliste lautet daher0
, da die beiden Ganzzahlen ihre Positionen vertauscht haben. - Die Eingabe ist flexibel. Kann eine Liste / ein Stream / ein Array von Ganzzahlen / Zeichenfolgen / Ziffern-Arrays usw. sein. Bitte geben Sie an, was Sie verwendet haben, wenn Sie die Eingaben nicht als Ganzzahlen verwenden.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln mit Standard-E / A-Regeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp, verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu (z. B. TIO ).
- Außerdem wird dringend empfohlen, eine Erklärung für Ihre Antwort hinzuzufügen.
Testfälle:
Input: [8, 49, 73, 102, 259, 762, 2782, 3383, 9217, 37846, 89487, 7471788]
0-based output: 6
1-based output: 5
Input: [1234, 3412]
0-based output: 2
1-based output: 0
Input: [2349, 2820, 17499, 21244, 29842, 31857, 46645, 56675, 61643, 61787]
0-based output: 3
1-based output: 0
Input: [4976, 11087, 18732, 22643, 52735]
0-based output: 2
1-based output: 3
Input: [4414, 5866, 7175, 8929, 14048, 16228, 16809, 19166, 24408, 25220, 29333, 44274, 47275, 47518, 53355]
0-based output: 4
1-based output: 4
Input: [11205, 16820, 63494]
0-based output: 1
1-based output: 3
Sie können mit diesem ungolfed 05AB1E-Programm weitere zufällige Testfälle generieren (oder sich von diesen inspirieren lassen) , wobei die Eingabe der Größe der Zufallsliste entspricht (HINWEIS: Die Ausgabe dieses Generators entspricht möglicherweise nicht der Regel " Ganzzahlen sind garantiert eindeutig in" die Eingabeliste und bleiben nach Abschluss der Rotationen garantiert eindeutig ", denken Sie also daran, wenn Sie sie verwenden.)