El reto
Cree una función que tome una matriz de números y reste de cada elemento el elemento más bajo de la matriz que aún no se ha restado de otro.
- Después de usar el valor más bajo, no se puede volver a usar.
- Los números en la matriz son números decimales, y no necesariamente enteros.
Ejemplo:
Input: [6, 4, 7, 8, 9, 2, 1, 4]
Next lowest value: Output:
[6, 4, 7, 8, 9, 2, 1, 4] [6, 4, 7, 8, 9, 2, 1, 4]
^ ^
6-1 = 5
[6, 4, 7, 8, 9, 2, -, 4] [5, 4, 7, 8, 9, 2, 1, 4]
^ ^
4-2 = 2
[6, 4, 7, 8, 9, -, -, 4] [5, 2, 7, 8, 9, 2, 1, 4]
^ ^
7-4 = 3
[6, -, 7, 8, 9, -, -, 4] [5, 2, 3, 8, 9, 2, 1, 4]
^ ^
8-4 = 4
[6, -, 7, 8, 9, -, -, -] [5, 2, 3, 4, 9, 2, 1, 4]
^ ^
9-6 = 3
[-, -, 7, 8, 9, -, -, -] [5, 2, 3, 4, 3, 2, 1, 4]
^ ^
2-7 = -5
[-, -, -, 8, 9, -, -, -] [5, 2, 3, 4, 3,-5, 1, 4]
^ ^
1-8 = -7
[-, -, -, -, 9, -, -, -] [5, 2, 3, 4, 3,-5,-7, 4]
^ ^
4-9 = -5
Final output: [5, 2, 3, 4, 3, -5, -7, -5]
Casos de prueba
Input: [6, 4, 7, 8, 9, 2, 1, 4] => Output: [5, 2, 3, 4, 3, -5, -7, -5]
Input: [4, 7, 4, 9, -10, 8, 40] => Output: [14, 3, 0, 2, -18, -1, 0]
Input: [0.25, -0.5, 8, 9, -10] => Output: [10.25, 0, 7.75, 1, -19]
Input: [3, 4, 9, 1, 1, 1, -5] => Output: [8, 3, 8, 0, -2, -3, -14]
Este es el código de golf , por lo que gana la respuesta más corta en bytes.
Respuestas:
Jalea , 2 bytes
Pruébalo en línea!
o Pruebe todos los casos de prueba
fuente
MATL , 3 bytes
Pruébalo en línea!
fuente
Casco , 4 bytes
Pruébalo en línea!
Explicación
fuente
Prólogo (SWI) ,
938068 bytesPruébalo en línea!
fuente
Ruby, 32 caracteres
fuente
JavaScript (ES6), 44 bytes
Pruébalo en línea!
Comentado
fuente
Java 10, 83 bytes
Modifica la matriz de entrada en lugar de devolver una nueva para guardar bytes.
Pruébalo en línea.
Explicación:
fuente
R , 18 bytes
Pruébalo en línea!
Hace lo que dice :)
fuente
Python 3,
4240 byteslambda a:[b-c for b,c in zip(a,sorted(a))]
fuente
map
.map
objeto, en lugar de una lista. ¿Sería una especie de área gris para los requisitos del concurso? Tal vez podría enviarlo como su propia respuesta, ya que probablemente sea lo suficientemente diferente como para calificar.int
s, así que voy a dejar la mía tal como está.map
objeto es válido, pero el requisito no int hace que mi sugerencia no sea válida.Haskell , 34 bytes
Pruébalo en línea!
fuente
05AB1E , 2 bytes
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
fuente
Lisp común, 46 bytes
Pruébalo en línea!
fuente
Coco , 23 bytes
Pruébalo en línea!
fuente
Perl 6 , 15 bytes
Pruébalo en línea!
Función anónima que toma una lista y devuelve una lista.
fuente
Japt , 9 bytes
Pruébalo en línea!
fuente
Stax , 5 bytes
Ejecutar y depurarlo
Para mostrar cómo funciona, aquí está la versión desempaquetada y comentada.
Ejecute este
fuente
J , 4 bytes
Pruébalo en línea!
Explicación:
Del argumento reste
-
el/:~
argumento ordenadofuente
Japt ,
86 bytesPruébalo aquí
Explicación
fuente
SmileBASIC, 49 bytes
La matriz de entrada se modifica en su lugar.
ARYOP
realiza operaciones en matrices completas a la vez. En este caso se restaB
deA
y almacena el resultado enA
.fuente
Julia 0.6 , 12 bytes
Pruébalo en línea!
fuente
PHP , 86 bytes
Pruébalo en línea!
fuente
Tcl , 49 bytes
Pruébalo en línea!
fuente