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.
Réponses:
Gelée , 2 octets
Essayez-le en ligne!
ou Essayez tous les cas de test
la source
MATL , 3 octets
Essayez-le en ligne!
la source
Husk , 4 octets
Essayez-le en ligne!
Explication
la source
Prolog (SWI) ,
938068 octetsEssayez-le en ligne!
la source
Rubis, 32 caractères
la source
JavaScript (ES6), 44 octets
Essayez-le en ligne!
Commenté
la source
Java 10, 83 octets
Modifie le tableau d'entrée au lieu d'en renvoyer un nouveau pour économiser des octets.
Essayez-le en ligne.
Explication:
la source
R , 18 octets
Essayez-le en ligne!
Fait ce qu'il dit :)
la source
Python 3,
4240 octetslambda a:[b-c for b,c in zip(a,sorted(a))]
la source
map
.map
objet, au lieu d'une liste. Serait-ce une sorte de zone grise pour les exigences du concours? Peut-être pourriez-vous simplement la soumettre comme votre propre réponse, car elle est probablement suffisamment différente pour être qualifiée.int
s, donc je vais laisser la mienne telle quelle .map
objet est valide, mais l'exigence non-int rend ma suggestion invalide.Haskell , 34 octets
Essayez-le en ligne!
la source
05AB1E , 2 octets
Essayez-le en ligne ou vérifiez tous les cas de test .
Explication:
la source
Lisp commun, 46 octets
Essayez-le en ligne!
la source
Noix de coco , 23 octets
Essayez-le en ligne!
la source
Perl 6 , 15 octets
Essayez-le en ligne!
Fonction anonyme qui prend une liste et renvoie une liste.
la source
Japt , 9 octets
Essayez-le en ligne!
la source
Stax , 5 octets
Exécuter et déboguer
Pour montrer comment cela fonctionne, voici la version commentée non emballée.
Exécutez celui-ci
la source
J , 4 octets
Essayez-le en ligne!
Explication:
De l'argument soustrayez
-
l'/:~
argument triéla source
Japt ,
86 octetsEssayez-le ici
Explication
la source
SmileBASIC, 49 octets
Le tableau d'entrée est modifié sur place.
ARYOP
effectue des opérations sur des baies entières à la fois. Dans ce cas , il soustraitB
deA
et stocke le résultat dansA
.la source
Julia 0,6 , 12 octets
Essayez-le en ligne!
la source
PHP , 86 octets
Essayez-le en ligne!
la source
Tcl , 49 octets
Essayez-le en ligne!
la source