Le défi
Créez une fonction qui prend un tableau de nombres et soustrayez de chaque élément l'élément le plus bas du tableau qui n'a pas encore été soustrait d'un autre.
- Après avoir utilisé la valeur la plus basse, elle ne peut plus être utilisée.
- Les nombres du tableau sont des nombres décimaux et pas nécessairement des entiers.
Exemple:
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]
Cas de test
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]
C'est le code-golf , donc la réponse la plus courte en octets gagne.