Inspirado por una pregunta en Stack Overflow. El título aquí es completamente mi culpa.
El reto
Dada una lista de enteros positivos que contiene al menos dos entradas, reemplace cada número por el mínimo de todas las entradas, excluyéndose a sí mismo.
Casos de prueba
[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]
Reglas
El algoritmo debería funcionar teóricamente para cualquier tamaño de entrada (mayor que uno) y valores (enteros positivos). Se acepta si el programa está limitado por el tiempo, la memoria o los tipos de datos y, por lo tanto, solo funciona para números de hasta un valor determinado o para un tamaño de entrada de hasta un valor determinado.
Se permiten programas o funciones , en cualquier lenguaje de programación . Las lagunas estándar están prohibidas.
La entrada puede tomarse por cualquier medio razonable ; y con cualquier formato Lo mismo para la salida. Los formatos de entrada y salida pueden ser diferentes.
El código más corto en bytes gana.
[4 3 2 2 5]
la salida sería [2 2 2 2 2]
(esto es similar al segundo caso de prueba)
[4 3 2 2 5]
salir?