Einfache Herausforderung: Suchen Sie anhand einer Reihe positiver ganzzahliger Zahlen die Zahl, deren Ziffern die längste Folge aufeinanderfolgender Ziffern enthalten. Der Trick? Es ist zulässig, dass die Ziffern in den Läufen die möglichen Werte ( 0123456789
) umbrechen und rückwärts ablaufen. Also beide 2345
, 89012
und 5432109
galten Läufe von aufeinanderfolgenden Ziffern (aber nicht 3456765
noch 321090123
als der Lauf in der gleichen Richtung sein muss immer, obwohl 3456765
als zwei Läufe in Betracht gezogen werden kann: 34567
und 765
). Bei Unentschieden geben Sie das erste zurück.
Testfälle:
Input: [3274569283, 387652323, 23987654323648, 2345687913624]
Output: 23987654323648
(The run is 98765432; run length: 8)
Input: [123012363672023, 098761766325432, 15890123456765]
Output: 15890123456765
(The run is 8901234567; run length: 10)
Input: [43, 19, 456]
Output: 456
Input: [5, 9, 0]
Output: 5
Input: [71232107, 7012347]
Output: 7012347
Input: [1234, 32109876]
Output: 32109876
Input: [9090, 123]
Output: 123
Anmerkungen:
- Die Eingabe enthält mindestens eine Nummer.
- Eingabenummern können führende Nullen enthalten.
- Eingabe und Ausgabe können in jedem vernünftigen Format erfolgen . So können eingegebene Zahlen als Zeichenfolgen, Ziffern- / Zeichenlisten ... verwendet werden.
- Die Ausgabe kann abschließende und / oder führende Leerzeichen und Zeilenumbrüche enthalten, solange die Nummer gedruckt wird.
- Das ist Code-Golf , also kann das kürzeste Programm / die kürzeste Funktion für jede Sprache gewinnen!
[7,8,1,6]
ein maximaler Durchlauf[7,8]
eher als[6,7,8]
, ja?78
in diesem Fall.Antworten:
Jelly , 18 Bytes
Probieren Sie es online!
Nimmt und kehrt als Liste von Ziffern zurück, um führende Nullen beizubehalten.
quelle
3210
in der ersten Nummer übrigens)A
dort drin .JavaScript (ES6),
10410298 ByteNimmt die Eingabe als Liste von Ziffernlisten. Gibt den besten zurück.
Testfälle
Code-Snippet anzeigen
quelle
Jelly ,
18 1615 BytesEin monadischer Link, der eine Liste von Ziffernlisten erstellt und die ganz links stehende Liste zurückgibt, die wie beschrieben einen maximalen Lauf enthält.
Probieren Sie es online! oder sehen Sie sich eine Testsuite an (mit der Verarbeitung, damit E / A so aussieht, als ob es in Frage käme).
Wie?
quelle
V€
Da Sie sich nicht sicher sind, müssen Sie möglicherweise führende Nullen zählen.Python 2 , 118 Bytes
Nimmt eine Liste von Ziffernlisten auf
a
; gibt eine seiner Listen zurück.Probieren Sie es online!
quelle
[[9,0,9,0],[1,2,3]]
.Schale , 20 Bytes
Nimmt eine Liste von Ziffernlisten auf und gibt sie zurück. Probieren Sie es online!
Erläuterung
quelle
MATLAB, 130 Bytes
Eingaben in Array, Array der Spaltendifferenzen [X (2) -X (1), ..., X (n) -X (n-1)] übernehmen, den häufigsten Wert im Array überprüfen (1 aufsteigende Reihenfolge - 1 sonst), erhalte den Index entweder für den häufigsten Wert oder -9 multipliziert mit dem häufigsten Wert (-9 tritt in aufsteigender Reihenfolge auf, ansonsten 9), finde die aufeinanderfolgenden Indizes (dh deren Differenz gleich 1 ist) und summiere sie bitte, weil es spät ist. Ausgabe am größten.
Probieren Sie es online!
quelle