Natürlich weiß das SE-Netzwerk sehr genau, wie man auf der Toilette respektvoll ist, aber für diejenigen unter Ihnen, die eine Zusammenfassung benötigen, bedeutet Respekt, die Toilette zu spülen usw. Am wichtigsten ist jedoch, dass der Stand so weit weg benutzt wird von anderen wie möglich.
Die Herausforderung
Angesichts eines Entwurfs für eine Reihe von Ständen mit Hinweisen darauf, welche als Zeichenfolge verwendet werden, müssen Sie von einer Funktion oder einem Programm zurückkehren oder drucken, bei der der respektvollste Ort für Ihre Geschäftstätigkeit ist.
Die Eingabe
0 1 2 3 4 5 <- The stall number which is not actually visible in the input.
| | |-| |-|-| <- the stalls
Die Stände sind von links nach rechts aufsteigend nummeriert. Es wird immer mindestens einen freien Stand geben. Ein Eingang kann bis zu 50 Boxen enthalten. Sie können die Eingabe auch als Array oder als Zeichenfolge von 0
s und 1
s oder als Boolesche Werte verwenden, wenn Sie dies vorziehen.
Stände in Gebrauch haben -
(zwischen den Rohren).
Die Ausgabe
Der respektvollste Stand ist derjenige, der im Durchschnitt am weitesten von den genutzten entfernt ist. Der Abstand zwischen zwei Boxen ist der absolute Wert der Differenz der darüber liegenden Zahlen.
Um es klar auszudrücken: Sie ermitteln die durchschnittliche Entfernung zu allen Ständen - nicht nur zu den benachbarten.
Sie müssen die niedrigste Nummer des respektvollsten Standes ausgeben, um dorthin zu gelangen , der leer ist .
Beispiele
Input:
|-| |-| OR 101
Output:
1
Input:
| | |-| |-|-| OR 001011
Output:
0
Input:
|-| |-| | | | |-|-| OR 101000011
Output:
1
Input:
|-| | | | | |-|-| | | | | OR 100000110000
Output:
11
Input:
|-|-|-|-| | | | | | |-| OR 11110000001
Output:
9
Input:
|-| | OR 10
Output:
1
Input:
|-| | |-| OR 1001
Output:
1
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
Sie können in Ihrer Antwort eine auf 0 oder 1 basierende Indexierung verwenden - je nachdem, was Sie bevorzugen. Wenn Sie 1-basierte Indizierung verwenden, müssen Sie dies in Ihrer Antwort explizit angeben.
[1,0,0,1]
als Testfall hinzufügen . Keiner der aktuellen Testfälle überprüft, ob die Krawatten korrekt gebrochen sind.
101000011
1 zurückgegeben (anstelle von 4 oder 5)?