Inspiriert von einer Frage bei Stack Overflow. Der Titel hier ist ganz und gar meine Schuld.
Die Herausforderung
Ersetzen Sie bei einer Liste positiver Ganzzahlen mit mindestens zwei Einträgen jede Zahl durch das Minimum aller Einträge, die sich selbst ausschließen.
Testfälle
[4 3 2 5] -> [2 2 3 2]
[4 2 2 5] -> [2 2 2 2]
[6 3 5 5 8] -> [3 5 3 3 3]
[7 1] -> [1 7]
[9 9] -> [9 9]
[9 8 9] -> [8 9 8]
Regeln
Der Algorithmus sollte theoretisch für alle Eingabegrößen (größer als eins) und Werte (positive ganze Zahlen) funktionieren. Es wird akzeptiert, wenn das Programm durch Zeit, Speicher oder Datentypen begrenzt ist und daher nur für Zahlen bis zu einem bestimmten Wert oder für Eingabegrößen bis zu einem bestimmten Wert funktioniert.
Programme oder Funktionen sind in jeder Programmiersprache zulässig . Standardlücken sind verboten.
Die Eingabe kann auf jede vernünftige Weise erfolgen . und mit jedem Format. Gleiches gilt für die Ausgabe. Eingabe- und Ausgabeformate können unterschiedlich sein.
Kürzester Code in Bytes gewinnt.
[4 3 2 2 5]
die Ausgabe [2 2 2 2 2]
(dies ist ähnlich wie im zweiten Testfall)
[4 3 2 2 5]
ausgegeben werden?